所以我试图使用JS或jQuery更改参数的值。我有一个看起来像这样的网址:
www.exampleurl.com/somepage?foo=test
我已经有了用于获取foo之后的值的代码,
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
var foo = getParameterByName('foo');
我现在有一个页面,其中的HTML代码如下:
<div class="bonus-button">
<script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=kwk&btn=rec_somecompany"></script>
</div>
我想要做的是将t_mc=kwk
替换为t_mc=value.of.foo
。在此示例中,这表示
<div class="bonus-button">
<script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=test&btn=rec_somecompany"></script>
</div>
到目前为止,我还没有找到我可以真正使用或有效的东西。你们对我可以使用的建议有什么建议吗?替换无效。
答案 0 :(得分:1)
使用document.querySelector
获取脚本标签,并使用getAttribute
从脚本获取src
。在使用split
和join
获得的字符串中,替换该值并使用setAttribute
var a = document.querySelector('.bonus-button > script').getAttribute('src')
document.querySelector('div > script').setAttribute('src', a.split('t_mc=kwk').join('t_mc=value.of.foo'))
<div class="bonus-button">
<script language="javascript" type="text/javascript" src="https://t.tellja.eu/widget/button/PSIGn2?skin=194&t_mc=kwk&btn=rec_somecompany"></script>
</div>