Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在我们的网站和iframe中禁用flash 如何禁止flash在我的站点上的iframe中运行?_Javascript_Html_Flash_Iframe - Fatal编程技术网

Javascript 在我们的网站和iframe中禁用flash 如何禁止flash在我的站点上的iframe中运行?

Javascript 在我们的网站和iframe中禁用flash 如何禁止flash在我的站点上的iframe中运行?,javascript,html,flash,iframe,Javascript,Html,Flash,Iframe,我们有一个网站,让用户可以选择在一个临时移动模拟器的iframe中查看他们的网站。我们希望用户看到他们的网站看起来不太好,但由于许多原因,这并没有达到预期效果。我没有考虑元视图端口设置等,但我会在以后找到答案。另一个问题是flash可以工作,但不希望它工作,因此他们看到它无法在iOS上运行。更新-请参阅Rick的答案 当前的HTML5方法是使用sandbox=“allow scripts”——Rick的回答对此进行了解释 您无法从您的站点控制另一个域上的iframes 您无法在它们上运行任何脚

我们有一个网站,让用户可以选择在一个临时移动模拟器的iframe中查看他们的网站。我们希望用户看到他们的网站看起来不太好,但由于许多原因,这并没有达到预期效果。我没有考虑元视图端口设置等,但我会在以后找到答案。另一个问题是flash可以工作,但不希望它工作,因此他们看到它无法在iOS上运行。

更新-请参阅Rick的答案 当前的HTML5方法是使用
sandbox=“allow scripts”
——Rick的回答对此进行了解释


您无法从您的站点控制另一个域上的
iframe
s

您无法在它们上运行任何脚本以删除/更改flash,因为

这是一个安全问题——想象一下您可以包含和操作iFrame。我可以包括一个iframe,其中包含并模拟输入金额并将钱转移到我的帐户的事件

iframe沙箱有一个“允许插件”的提议,但事实并非如此


您唯一的选择是在您的站点上使用代理,并将其放在您的域中,或者在服务器端对其进行操作。如果您可以要求客户端在其一侧包含代码片段,您可以执行
.postMessage
并在iframe上截取它,要求它删除flash。

使用新的HTML5 iframe沙盒属性,您可以通过包含沙盒属性禁用受支持浏览器中的所有插件(包括flash)。例如:

<!DOCTYPE html>
<html>
    <head>
        <style>iframe{height:9000px; width:100%;}</style>
    </head>
    <body>
        <iframe sandbox="allow-scripts" src="http://www.adobe.com/software/flash/about/"/>
    </body>
</html>

iframe{高度:9000px;宽度:100%;}
不会显示flash动画或版本信息。但是没有沙箱的代码将:

<!DOCTYPE html>
<html>
    <head>
        <style>iframe{height:9000px; width:100%;}</style>
    </head>
    <body>
        <iframe src="http://www.adobe.com/software/flash/about/"/>
    </body>
</html>

iframe{高度:9000px;宽度:100%;}

你不能。除非在同一个域上,否则你无法控制iframe中发生的事情。也许你应该用BrowserStack支付一个帐户的费用,并使用他们的移动仿真器。我确实为browser stack支付费用。@BenjaminGruenbaum如果你确信你不能控制iframe中的内容,除非它在同一个域上,如果您确信不存在路由或其他可怕的技巧,那么您应该将其提交给回答,而不是评论。我没想到这是可能的,但是我想确认这不是。谢谢@BenjaminGruenbaum-现在我可以停止怀疑了。被拒绝的“允许插件”提案是允许插件。所有规格沙盒iFrame中的所有插件(包括flash)当前都被禁用。这将满足OPS的要求,除非他们需要其他插件是可操作的。YUP,这绝对是正确的方式。说实话,我只是忘记了我的答案,当我更好地理解这个主题时,我没有更新它。谢谢你的ping和你的回答。