typeof fn ==" function"但fn()不受支持

时间:2014-08-14 15:35:56

标签: javascript ajax function internet-explorer-8 frameset

不幸的是,我不得不处理一些涉及繁重的框架集操作的代码。我有一个帧通过jQuery AJAX将数据加载到另一个帧中,如下所示:

var lookUpDiv = $("<span />", top.frames["Main"].document)
.attr("id", "lookUpDiv")
.css({
   "background-color": "#ffffff",
   "margin": "10px",
   "overflow-y": "auto",
   "overflow-x": "hidden",
   "max-height": "100%",
   "display": (notIE8 ? "inline-block" : "inline"),
   "text-align": "center",
   "border-radius": "25px"
})
.text("Loading: Please Wait.")
.load("associateLookup-1.asp")
.appendTo(centeringDiv);

在这些数据中,有一些函数被加载。我有一个问题,他们不能top.frames["Main"],但我通过宣布我的功能解决了这个问题:

var main = top.frames["Main"];

main.closePopup = function () {
    alert("");
}

这适用于我尝试过的除ie8之外的所有浏览器。不幸的是,我们的大多数客户都使用ie8,因此必须使用ie8。我进入了js控制台,从测试中发现了一些有趣的结果:

top.frames["Main"].closePopup == {...}
typeof top.frames["Main"].closePopup == "function"
top.frames["Main"].closePopup()
"Object doesn't support this property or method"

有谁知道为什么我无法调用此功能?

0 个答案:

没有答案