我有一个 javascript 函数,它通过 ID 从页面文档中获取元素,或者如果 parentObj 被传入,则从 parentObj.document 获取元素。
但是,在 IE10 中,当我不处于兼容模式时,访问 parentObj.document 会返回“未定义”。使用 IE 开发人员工具,parentObj有一个文档成员,但它被视为只是一个通用对象。可以将不同种类的对象传递到函数中。
示例代码:
function getJSObject(objID, parentObj)
{
if (parentObj != null)
{
return parentObj.document.getElementById(objID);
}
return document.getElementById(objID);
}
(不是实际功能,这是我被允许发布的内容,以传达这个想法。)
基本上,这在 IE10 兼容模式下有效,在 IE10 兼容模式之外无法正常工作。这样做的正确方法是什么?
编辑:调用代码:
var selectionPage = objWindows[0].document.forms[sourceForm];
if (selectionPage)
{
var selectionControl = getJSObject(sourceControlID, selectionPage);
}
objWindows 只是一个简单的全局级别数组,用于跟踪打开的弹出窗口。sourceForm 是从弹出窗口调用整个 js 函数的表单。