外部JS文件无法执行

时间:2012-09-04 09:49:52

标签: javascript dom

我有一个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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

var js=document.createElement('script');
js.setAttribute('src','http://domain.com/js/jscpt.js');
document.body.appendChild(js);