And*_*w K 5 javascript internet-explorer-8
我有一个弹出窗口,允许开启窗口可选地定义一个回调函数,如果定义将在用户完成弹出窗口时调用.根据我读过的建议,我这样做:
if (window.opener && (typeof window.opener.callbackFunction == 'function')) {
window.opener.callbackFunction()
}
Run Code Online (Sandbox Code Playgroud)
这在Firefox中工作正常 - 当定义函数时,typeof是预期的"函数".但是,在IE8中,typeof是"对象".该函数通常在开启器中定义,如下所示:
function callbackFunction() {
...
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么IE8中的typeof会有所不同?我也对如何实现这一点的其他建议持开放态度.我也试过,if (window.opener && window.opener.callbackFunction)但是当没有定义函数时,导致IE8爆炸.
你可以试试
if ( window.opener && (typeof window.opener.callbackFunction != 'undefined') {
window.opener.callbackFunction();
}
Run Code Online (Sandbox Code Playgroud)
我目前没有IE,所以我无法测试,但相信它会起作用.
| 归档时间: |
|
| 查看次数: |
3895 次 |
| 最近记录: |