我有一个iFrame,我想在其src属性中获取URL并获取其内容并使用docuemnt.write将其注入iFrame。所以现在,iFrame在同一个起源,我可以触摸它的contentWindow。 但是我在使用window.location对象的iFrame中运行的JS文件遇到了一些麻烦,当然,在我目前的情况下它是空的(iFrame没有src)。所以,代码有一些意想不到的行为:(。 我想我在这里有两个选择:
使用匿名函数包装JS代码并将其传递给我们的“代理” 窗口对象,像这样:
var windowProxy = { 地点 : { 来源:“测试”, 搜索:“测试” } }; (函数(窗){ 的console.log(window.location.origin); 的console.log(window.location.search); })(windowProxy);
这样可行,但我认为这个方法会有更多错误,因为一切都在函数上下文中执行。因此,如果代码声明全局变量或类似的变化,那么一切都会搞砸,我认为。
我真的很感激一些建议或其他方法。 :)
更新: 好吧,我刚刚意识到第一种方法是不可能的,因为我必须创建整个窗口对象,这太荒谬了。
所以,我现在离开了第二种方法。 :(