Javascript 使用JS/jQuery更改脚本标记中的参数值
因此,我尝试使用JS或jQuery更改参数的值。我有一个如下所示的url:Javascript 使用JS/jQuery更改脚本标记中的参数值,javascript,jquery,html,Javascript,Jquery,Html,因此,我尝试使用JS或jQuery更改参数的值。我有一个如下所示的url: www.exampleurl.com/somepage?foo=test <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_s
www.exampleurl.com/somepage?foo=test
<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>
我已经有了在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代码如下所示:
www.exampleurl.com/somepage?foo=test
<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>
到目前为止,我还没有找到真正有用或有效的东西。你们对我可以使用的东西有什么建议吗,例如替换不起作用。使用
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\u mc=kwk').join('t\u mc=value.of.foo'))
不确定更改已运行的
标记的src是否会达到您认为的效果。看起来像是XY问题,您希望加载不同的脚本。更改某个
标记的url对于您现有的代码来说是微不足道的。快速搜索(可能还有其他)会发现这似乎是您的实际问题:就目前的问题而言,在您的示例中,请参阅可能的重复项,这似乎是可行的,但我得到了未捕获的TypeError:无法读取null的属性“split”。Why is=Edit:我现在有了它,非常感谢您解释了您所做的一切:)这可能是因为querySelector通常用于div和其中的脚本。我已经做了编辑,现在它将只适用于给定的div,前提是没有其他具有相同类的div。还要确保有一个脚本标记,并且还有一个src属性。是的,那是我的错误:(再次感谢你救了我一天:)