如何强制运行 swf 文件,而不是下载
Posted
技术标签:
【中文标题】如何强制运行 swf 文件,而不是下载【英文标题】:How can I force swf files to be run, not downloaded 【发布时间】:2018-04-21 16:12:15 【问题描述】:例如,我想为这个 url 做一个 iframe:http://example.com/game.swf
问题是,使用不同浏览器/设备/设置的用户会遇到这样的问题,即浏览器只是下载它而不是运行 swf。
请记住,我无权访问 http://example.com 的代码或 fla 文件。由于 swf 存在一些问题,我需要使用 iframe hack。
【问题讨论】:
现在还有浏览器支持 SWF 吗?这可能是问题所在。 @Carcigenicate 哈哈,是的。不过,这个问题确实与此有关。默认情况下,Chrome 有一个设置可以让你点击运行 swf,但是当使用这个设置直接链接到文件时,它只是下载它。 【参考方案1】:iframe 必须加载 html 文件,而不是直接加载某些 SWF 文件。因此,通过将 SWF 嵌入 iFrame 将加载的同一 html 中来绕过该规则。
如果iframe
有代码:
<iframe src="http://example.com/game.html"> </iframe>
然后在game.html中有代码:
<!DOCTYPE html>
<html>
<body>
<embed src="http://example.com/game.swf" >
</body>
</html>
【讨论】:
我无权访问 iframe 的 html。我可以直接在我的网站中使用嵌入吗? @SamGurdus 是的。基本上浏览器必须加载一个 html 页面(即使它嵌入了 Flash)。只要浏览器自己的地址栏没有指向以.swf
结尾的直接链接就可以了(触发自动下载)。
我应该使用对象还是嵌入?以上是关于如何强制运行 swf 文件,而不是下载的主要内容,如果未能解决你的问题,请参考以下文章