0

我正在使用 $.getScript 加载脚本,如下所示。

$.getScript('/js/overlay.js', function() {
    alert("TEST");
});

在所有浏览器中,除了 IE 之外,这都有效。IE8 给我一个错误,即无法在“x”行加载 Overlay。行“x”看起来像:

new Overlay();

Overlay.js 看起来像这样:

var Overlay = function() {
    alert("test");
}

有人熟悉这个问题吗?我先在谷歌上搜索了答案,但我找不到有用的东西..

4

1 回答 1

2

你似乎有一个异步问题:

如果“行 x”

new Overlay();

不在您传递给的回调中getScript,然后在Overlay函数可用之前执行它,除非您有overlay.js缓存中的文件(即使那样,它也取决于)。

将“line x”放入回调或从回调调用的函数中:

$.getScript('/js/overlay.js', function() {
    alert("TEST");
    new Overlay();
});
于 2013-11-08T10:19:44.090 回答