首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5 FileApi + FileReader - SWF馈电<object>

HTML5 FileApi + FileReader - SWF馈电<object>
EN

Stack Overflow用户
提问于 2010-09-22 11:25:43
回答 1查看 1.2K关注 0票数 7

我想使用HTML5 FileApi将SWF读入OBJECT (或者EMBED,如果这样做更好的话?)。

我当前的代码在Chrome/Iron (也支持xmlhttprequest v2 FormData的唯一稳定浏览器)上崩溃。我用它来读取图像数据到一个即时创建的IMG中。但该对象将崩溃浏览器中的当前选项卡。

代码语言:javascript
复制
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部分吗?怎么做的对吗?有人知道吗?还是说这是不完整的,我还要等待更好的实施?

EN

回答 1

Stack Overflow用户

发布于 2011-07-06 20:40:57

我建议尝试一些事情(按复杂性增加的顺序排列):

  • base64用btoa对数据进行编码,并使用URI设置数据,
  • 不要使用createElement创建对象,而是使用HTML (包括上面的base64通知)构造具有所有属性的<object>标记,然后将其插入到带有innerHTML的DOM元素中,
  • 创建一个反射器web服务,在其中发布swf内容,它给您一个URL,然后将URL传递给对象,
  • 与前面的类似,创建一个反射器web服务,其中您发布swf内容,以全屏IFRAM为目标,让该服务返回一个HTML,包括一个指向服务器的<object>

这些选项中的后一种更加密集,需要从服务器返回您可能想要避免的往返--只是需要考虑更多的选项。

ActionScript 3有一个Loader,它可能也很有用。我不知道它是否支持data: URI,但如果支持,您可以编写一个引导加载器SWF,它直接运行本地swf文件的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3768719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档