Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
如何在沙盒iframe(IE11)中使用javascript创建iframe内容?_Javascript_Html_Internet Explorer_Iframe_Sandbox - Fatal编程技术网

如何在沙盒iframe(IE11)中使用javascript创建iframe内容?

如何在沙盒iframe(IE11)中使用javascript创建iframe内容?,javascript,html,internet-explorer,iframe,sandbox,Javascript,Html,Internet Explorer,Iframe,Sandbox,我试图通过创建一个iframe并使用javascript或vbscript动态构建iframe内容来构建一个用于internetexplorer的测试页面。我通常会使用data:URI,但IE会阻止它 例如 <iframe sandbox="allow-scripts" src="javascript:document.write('test')"></iframe> IE似乎是唯一一个不允许我通过javascript:function()src构建iframe内容

我试图通过创建一个iframe并使用javascript或vbscript动态构建iframe内容来构建一个用于internetexplorer的测试页面。我通常会使用data:URI,但IE会阻止它

例如

<iframe sandbox="allow-scripts" src="javascript:document.write('test')"></iframe>

IE似乎是唯一一个不允许我通过javascript:function()src构建iframe内容的浏览器,即使设置了allow scripts sandbox属性。我不想在iframe和parent窗口之间传递任何信息,也不想设置allow-same-origin,因为它几乎不符合使用沙盒iframe的目的


除了src中的javascript或data:URI,或者通过父窗口中的javascript,是否还有其他方法可以动态构建iframe内容,因为由于相同的来源限制,它将无法与沙盒iframe一起工作?我也不希望必须从外部页面设置内容。

javascript:
是一种奇怪的URI协议。它在某些上下文中工作,比如HTML5为此定义了“srcdoc”属性

<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>in my gallery</a>."></iframe>


Internet Explorer不支持srcdoc属性的可能重复项,因此无法使用我尝试执行的操作。虽然它在其他支持它的浏览器中很有用,但我已经有了在src属性中使用数据或javascript uri动态创建iframe源的方法。不幸的是,我需要在IE.javascript中工作的东西:可以在所有浏览器中用作iFrame的src属性中的URI,只要沙盒属性未设置或设置为允许除IE之外的所有脚本或允许IE中的同一来源。这似乎是一个来源相同的问题,因为沙盒iframe是一个唯一的域,它将阻止我通过父文档上的脚本对其进行修改。将iFrame设置为允许在沙盒属性中使用相同的源文件,这会破坏对iFrame进行沙盒处理的目的,因此对于我尝试测试的内容,它不是一个可行的选项。您可以在某个位置切换某些选项,以允许您从Chrome/Safari中的地址栏运行javascript URL。
<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>in my gallery</a>."></iframe>