gpt4 book ai didi

javascript - 哪个版本的 IE 使用 window[objectName] 而不是 window.document[objectName]?

转载 作者:行者123 更新时间:2023-11-29 09:58:45 25 4
gpt4 key购买 nike

我正在尝试使用 Javascript 回调来嵌入我的页面中的 Flex 应用程序。通过一些示例,我看到了用于获取对 Flex 应用程序的引用的代码:

// Get the reference:
function thisFlexApp(appName) {
if(navigator.appName.indexOf ('Microsoft') != -1) {
return window[appName];
}
else {
return window.document[appName];
}
}

// Use it:
var someVariable = thisFlexApp('NameOfFlexApp').callbackMethod();

我使用了该方法,但使用 IE9 时出现错误,指示“thisFlexApp”调用无效。结果 window.document[appName] 在 IE9 中工作,但 window[appName] 没有。由于我不希望我的政府客户使用 IE9,我想知道这种方法实际适用于哪个版本的 IE?是否有另一种测试比上面假设所有版本的 IE 都以某种方式工作的测试更好用?提前致谢。

最佳答案

不要检查浏览器版本,检查浏览器的功能。您可以只检查 window[appName] 是否存在,如果存在,则使用它。

function thisFlexApp(appName) {
if(window[appName]) {
return window[appName];
}
else {
return window.document[appName];
}
}

或者更短:

function thisFlexApp(appName) {
return window[appName] || window.document[appName];
}

关于javascript - 哪个版本的 IE 使用 window[objectName] 而不是 window.document[objectName]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com