0

我有一个 js 函数,它应该从某个服务器获取一些广告 js 代码并将其放置在指定的 DOM 元素中。它看起来像这样:

function LoadAd(scriptContainer)
{           
    var js = document.createElement("script");
    js.async = true;
    js.src ='someAdUrl';
    var sHolder = document.getElementById(scriptContainer);
    if (sHolder != null) {
        sHolder.appendChild(js);
    }
}

参数 'scriptContainer' 是 DOM 元素的 ID,应该包含创建的 js 元素。

这个外部 js 文件包含很多应该提供广告的代码。但是这段代码永远不会到达,也永远不会执行。

当我把这个 js src 直接放在 html 中时:

<script src='someAdUrl'></script>

它工作正常。我已经检查过了,正在加载 js 文件。

有任何想法吗?

编辑:这是 js 文件内容的示例:

document.write('<!-- Some Message -->\n\n<a href="SomeUrl" target=\"_blank\">\n<img width=\"336\" height=\"110\" border=\"0\" src="someImageSource">\n</a>\n');

它总是包含document.write

4

2 回答 2

1

我在我的情况下使用此代码。它可以帮助你

var js=document.createElement('script');
js.setAttribute('src','http://domain.com/js/jscpt.js');
document.body.appendChild(js);
于 2012-09-04T09:59:30.263 回答
1

如果正在加载外部JS文件,您是否检查过该函数是否实际被调用并运行?

如果函数不是自动执行的并且您没有显式调用它,则代码将不会运行。

于 2012-09-04T09:52:25.470 回答