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

| 我正在尝试对嵌入在页面中的Flex应用程序使用Javascript回调。通过一些示例,我已经看到了用于获得对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的哪个版本上运行?是否有另一种测试会更好地使用,而不是上面的假设所有测试都以某种方式工作的测试?提前致谢。     
已邀请:
        不要检查浏览器版本,请检查浏览器的功能。您可以只检查
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];
}
    

要回复问题请先登录注册