javascript - 通过javascript设置iframe的window.external成员

标签 javascript html iframe

我在 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/

相关文章:

javascript - 如何使用纯 Javascript 使 HTML 元素可调整大小?

php - 带有 Ratchet 的 Websockets 立即关闭

javascript - 隐藏滚动条 iFrame 子网站

javascript - 当 iframe 位于不同域 iframe 内时,获取同一域 iframe 的高度?

javascript - 类型错误 .join 不是函数 Netlify 构建错误

javascript - 使用javascript动态更改html内容不起作用

javascript - 从子对象修改原型(prototype)上的字段

html - 当元素从相对定位到固定但腾出的空间保持固定高度时,是否会发生页面回流

javascript - 如何在收到警报后取消表单的操作?

jquery - 使用 jquery 访问 colorbox Iframe 内容