Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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中包含的JS具有顶部框架窗口的上下文 $(“”{ src:'/path/to/javascript.js', 键入:“text/javascript” }).appendTo($('#iframe').contents().find('body');_Javascript_Jquery_Iframe_Dynamic Loading - Fatal编程技术网

iframe中包含的JS具有顶部框架窗口的上下文 $(“”{ src:'/path/to/javascript.js', 键入:“text/javascript” }).appendTo($('#iframe').contents().find('body');

iframe中包含的JS具有顶部框架窗口的上下文 $(“”{ src:'/path/to/javascript.js', 键入:“text/javascript” }).appendTo($('#iframe').contents().find('body');,javascript,jquery,iframe,dynamic-loading,Javascript,Jquery,Iframe,Dynamic Loading,如果我错了,请纠正我,但我认为应该将JS加载到iframe中。我还尝试在头上附加 问题 执行javascript.js,但该脚本中的console.debug(this)返回顶部框架窗口。我试图验证脚本是否确实包含在iframe中,但不知道如何验证 另外,从javascript.js运行$('a')会返回顶部框架中的所有链接,而不是我想要的iframe中的每个链接 谢谢你的时间 更新:我已经整理好了。检查控制台并注意这是顶部框架(可以通过变量_top进行验证)。我能够在同一个域中进行一些if

如果我错了,请纠正我,但我认为应该将JS加载到iframe中。我还尝试在
头上附加

问题
执行
javascript.js
,但该脚本中的
console.debug(this)
返回顶部框架窗口。我试图验证脚本是否确实包含在iframe中,但不知道如何验证

另外,从
javascript.js
运行
$('a')
会返回顶部框架中的所有链接,而不是我想要的iframe中的每个链接

谢谢你的时间



更新:我已经整理好了。检查控制台并注意这是顶部框架(可以通过变量_top进行验证)。

我能够在同一个域中进行一些iframe更新:

确保这两个URL位于同一个域中。
(包括from中是否有
www

更新

您可以这样测试它:

$('<script/>', {
    src: '/path/to/javascript.js',
    type: 'text/javascript'
}).appendTo($('#iframe').contents().find('body'));
$(函数(){
var iframe=$('#iframe').contents();
$('body',iframe).append($('',{text:'这是一个测试'}));
});

现在,如果您在iframe中看到文本
这是一个测试
,您就知道它正在工作

这是一个灰色区域。对于使用jQuery执行的此特定操作,根据浏览器的不同,在引擎盖下使用的是
importNode
adoptNode
。然而,IE也不支持(因为我上次研究过它)

您可能希望获取对文档的引用,并编写脚本。如果我没记错的话:

$(function(){
   var iframe = $('#iframe').contents();

   $('body', iframe).append($('<div>', {text: 'this is a test'}));
});
$('')[0].contentDocument.document.write('script');

是同一域中的iframe,bc如果不是,则您有跨域问题。我不确定您想用它显示什么。你能解释一下这是如何解决上下文问题的吗?@Znarkus,你能给我们看一下页面,这样我们就可以看到错误了,我向你展示了你的代码是有效的,我想你可能有跨域问题,我已经为你准备了一个。检查控制台并注意
this
是顶部框架(可以通过变量_top进行验证)。尝试用
$(function(){/*此处的代码*/})包装jquery
这几行
console.debug on“this”来自iframe.js:DOMWindow
$('<iframe/>')[0].contentDocument.document.write('script');