我有以下脚本:
<script id="lol" type="text/javascript" src="http://pn.lol.de/get_trans.cgi?cpid=1&tid=999999&produkt=7&umsatz=0&kunde=raffle_201406&js=1"></script>
我希望“src”属性的 tid 是一个随机数,而不是 999999,因此我在它之前编写了一个脚本来尝试更改它:
<script>
var transactionId = Math.floor(Math.random() * 100000); //Generate pseudorandom id
var element = document.getElementById("lol");
var newsrc = "http://pn.lol.de/get_trans.cgi?cpid=1&tid=" + transactionId + "&produkt=7&umsatz=0&kunde=raffle_201406&js=1";
element.setAttribute("src", newsrc);
</script>
但这似乎不起作用。难道我做错了什么?这是实现这一目标的更好方法吗?
更新
我想要的是以下代码,但在 src 上带有随机 tid 参数:
<script type="text/javascript" src="http://pn.lol.de/get_trans.cgi?cpid=1&tid=t26673&produkt=Raffle201406&umsatz=1&kunde=raffle_201406&js=1"></script>
<noscript><img src="http://pn.lol.de/get_trans.cgi?cpid=1&tid=t26673&produkt=Raffle201406&umsatz=1&kunde=raffle_201406" height="3" width="2" border="0" /></noscript>
所以我写了以下内容:
<script>
var transactionId = Math.floor(Math.random() * 100000); //Generate pseudorandom id
var element = document.createElement('script');//Create new script element
var newsrc = "http://pn.lol.de/get_trans.cgi?cpid=1&tid=" + transactionId + "&produkt=Raffle201406&umsatz=0&kunde=raffle_201406&js=1";
element.setAttribute("src", newsrc);
element.setAttribute("type","text/javascript");
var elementNoscript = document.createElement('noscript');//Create new script element
var elementImg = document.createElement('img');
elementImg.setAttribute("src",newsrc);
elementImg.setAttribute("height",3);
elementImg.setAttribute("width",2);
elementImg.setAttribute("border",0);
document.body.appendChild( element ); // Insert it into document
elementNoscript.appendChild(elementImg);
document.body.appendChild( elementNoscript );
</script>
但这似乎不起作用,知道我的错误在哪里吗?
最佳答案
我会动态插入脚本元素,而不是更改现有脚本元素的 src 属性。这应该肯定有效:
<script>
var transactionId = Math.floor(Math.random() * 100000); //Generate pseudorandom id
var element = document.createElement('script');//Create new script element
var newsrc = "http://pn.discavo.de/get_trans.cgi?cpid=1&tid=" + transactionId + "&produkt=7&umsatz=0&kunde=raffle_201406&js=1";
element.setAttribute("src", newsrc);
document.body.appendChild( element ); // Insert it into document
</script>
关于javascript - 如何操作 javascript 脚本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429444/