将父窗口的javascript函数传递给子窗口时出现问题。在Firefox和Chrome中运行良好,但在IE中无法运行(使用IE11测试)。具有讽刺意味的是,即使在IE中打开F12开发工具,它也能工作。这是在同一个域中,所以跨域块应该不成问题。我曾尝试:将javascript函数传递给用window.open()打开的子窗口
// on the parent
var newWin = window.open('href', 'title', '');
newWin.myFunc = function() { alert('test'); };
// on the child (when calling this I get error: 'myFunc' is undefined)
myFunc();
我知道我可以去周围其他方式 - 呼吁从孩子父定义的函数:
// on the parent
function myFunc() {
alert('test');
}
// from child
opener.myFunc();
但超出此问题的范围原因我需要能够将匿名函数传递给它必须能够执行的子项。
您正在测试的函数调用alert,还是执行其他操作并使用'console.log'? 'console'在IE中不存在,直到控制台打开,所以'console.log'会抛出一个错误并停止其他事情的发生,这取决于你拥有它的位置。 – Ryan 2014-09-05 23:45:30
实际功能不调用alert()和console.log。它做了一些与UI没有任何关系的数据操作。 – Perry 2014-09-06 00:11:52
在这里黑暗中拍摄,你试试window.parent.myFunc();然而? – 2014-09-06 00:31:28