我想加载外部JavaScript。此javascript包含广告来源。我使用注入方法因为javascript需要用户IP。要使用的javascript代码是:
<html>
<head>
<script type="text/javascript">var userip;</script>
<script type="text/javascript" src="http://service.get.userip?var=userip"></script>
<script>
var url="http://example.com/abc?user_ip=" + userip;
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.src = url;
headID.appendChild(newScript);
</script>
</head>
</html>
我使用服务javascript来获取用户的IP(在此示例代码中为“http://service.get.userip?var=userip”)。然后我将用户IP添加到我下载javascript的网址。
在修改使用开发者模式浏览器收费的网页时会插入javascript,但它不起作用。
我认为问题在于JavaScrip注入速度很慢,而且没有时间正确充电。
在我的测试中,我得到了一个正确的操作,在最后一个脚本结束之前发出警报:
<script>
...
headID.appendChild(newScript);
alert("Script is Load!");
</script>
出于这个原因,我认为问题是加载时间。我也尝试循环,sleep()和setTimeout(),但我没有重现使用alert()获得的平稳运行。