我想使用HTML5 FileApi将SWF读取到OBJECT
(或EMBED
,如果最好做的话?)。
我当前的代码在Chrome / Iron(唯一支持xmlhttprequest v2 FormData的 stable 浏览器)上崩溃了。我得到它将图像数据读入即时创建的IMG。但是对象会崩溃浏览器中的当前选项卡。
else if (file.type == "application/x-shockwave-flash") {
var show = document.createElement("object");
show.type = "application/x-shockwave-flash"
show.style.width = "100%";
show.style.height = "100%";
show.id = "thumb";
document.getElementById("thumbnails").appendChild(show);
var reader = new FileReader();
reader.onload = (function (aImg) {
return function (e) { aImg.data = e.target.result; };
})(show);
reader.readAsDataURL(file);
我真的读过object.data
部分吗?怎么做对了?有人知道吗?或者这是不完整的,我必须等待更好的实施?
答案 0 :(得分:2)
我建议尝试的一些事情(按复杂程度增加的顺序):
data:
URI createElement
创建对象,构造<object>
标记,将所有属性作为HTML字符串(包括上面的base64建议),然后将其注入到{{1}的DOM元素中},innerHTML
这些选项的后期更为激烈,需要从您可能想要避免的服务器往返 - 只需要考虑一些其他选项。
ActionScript 3有Loader
,也可能有用。我不知道它是否支持<object>
URI,但如果支持,则可以编写一个引导加载程序SWF,它直接运行本地swf文件的内容。