gpt4 book ai didi

javascript - HTML5 FileApi + FileReader - 使用 SWF 馈送
转载 作者:太空狗 更新时间:2023-10-29 14:21:37 25 4
gpt4 key购买 nike

我想使用 HTML5 FileApi 将 SWF 读取到 OBJECT(或 EMBED,是否更好?)。

我当前的代码在 Chrome/Iron(唯一也支持 xmlhttprequest v2 FormData 的稳定浏览器)上崩溃。我得到它来将图像数据读取到即时创建的 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 部分吗?它是如何正确完成的?有人知道吗?或者这是不完整的,我必须等待更好的实现?

最佳答案

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

  • 使用btoa 对数据进行base64 编码并使用 data: URI 进行设置,
  • 而不是使用 createElement 创建对象, 构造 <object>将所有属性标记为 HTML 字符串(包括上面的 base64 建议),然后使用 innerHTML 将其注入(inject)到 DOM 元素中,
  • 创建一个反射器网络服务,您可以在其中发布 swf 内容,它会为您提供一个 URL,然后将该 URL 传递给该对象,
  • 与之前类似,创建一个反射器 Web 服务,您可以在其中发布 swf 内容,将全屏 IFRAM 作为目标,让该服务返回一个 HTML 文档,其中包含 <object>指向服务器。

这些选项中的后者更为密集,并且需要您可能希望避免的来自服务器的往返行程 - 您可能需要考虑更多选项。

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

关于javascript - HTML5 FileApi + FileReader - 使用 SWF 馈送 <object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768719/

25 4 0