我在 html 页面中运行了一些代码,该代码正在调用存在于 window.external 上的函数。代码有效:
SomeCode.js(位于 somePage.html 中):
window.external['someFunction']();
但是,出于测试目的,我需要将该 html 页面嵌入到单独测试页面的 iframe 中。测试页面代码
测试页面.html:
window.frames[0].external['someFunction'] = function() { console.log('success'!); }; // Doesn't work
window.frames[0].src = "http://somePage.com/somePage.html";
window.frames[0].external['someFunction'] = function() { console.log('success'!); }; // window.external['someFunction'] is still null from the perspective of the code in SomeCode.js. oesn't work
在设置 src 之前和之后,我已经尝试了多种设置函数的方法。奇怪的是,如果我在控制台打印 window.frames[0].external,window.frames[0].external 似乎设置了“someFunction”。这几乎就像 window.frames[0].external 是一个不同于 iframe 中 javascript 内部使用的对象。
任何想法将不胜感激。
谢谢, 蝉
最佳答案
如果函数 someFuction
有一些参数,你必须在前一行声明它。如果你不这样做,它就不起作用。
应该是:
window.frames[0].external['someFunction'] = function(params) {console.log('success!');};
关于javascript - 通过javascript设置iframe的window.external成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535571/