我有一个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
答案 0 :(得分:1)
如果正在加载外部JS文件,您是否检查过该函数是否实际被调用并运行?
如果该函数不是自动执行的,并且您没有明确地调用它,则代码将不会运行。
答案 1 :(得分:1)
我在我的情况下使用此代码。它可能会帮助你
var js=document.createElement('script');
js.setAttribute('src','http://domain.com/js/jscpt.js');
document.body.appendChild(js);