如何在外部javascript调用时将document.write写入父元素

时间:2015-08-03 12:21:47

标签: javascript html domdocument

您好我的问题是当父元素未知时如何用document.write编写内部脚本称为父元素

您可以将此视为广告脚本

例如:

<div>
<script src="http://www.pokemonpets.com/scripts/ads_simple.js"></script>
</div>

我的脚本代码如下,但现在不能正常工作

document.write('<a title="Bedava Pokemon Online Oyunu" target="_blank" href="http://www.pokemonpets.com/Register"><img src="http://orig04.deviantart.net/58d0/f/2015/213/8/4/pokemonpets_by_monstermmorpg-d93plr1.png" /></a>');

所以不知怎的,我必须让它在不知道父元素的情况下工作,或者不知道页面是否有JQuery。

广告公司如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

您不想使用document.write,要查找脚本标记并将其替换为新内容。您可以通过查找带有您的网址的脚本标记,然后让它的父母替换它来实现这一点。

scripts = document.getElementsByTagName("script");
for(var i in scripts){
   if(scripts[i].src.indexOf('//www.pokemonpets.com/scripts/ads_simple.js') !== -1){
      var wrapper = document.createElement('div');
      wrapper.innerHTML = '<a title="Bedava Pokemon Online Oyunu" target="_blank" href="http://www.pokemonpets.com/Register"><img src="http://orig04.deviantart.net/58d0/f/2015/213/8/4/pokemonpets_by_monstermmorpg-d93plr1.png" /></a>';
      scripts[i].parentElement.replaceChild(wrapper,scripts[i]);
   }
}

这完全没有经过测试,即使是语法也没有,所以你可能需要稍微调整一下。