繁体   English   中英

如何使用JQuery替换脚本标签中的文本

[英]How to Replace Text Within Script Tags Using JQuery

我们使用页面构建器(ClickFunnels)来构建页面。 在这些页面上是不同的脚本,例如Facebook像素。

我们正在大量克隆这些页面并运行各种测试。 当前,我们手动更新脚本,但是我们希望将其半自动化。

在构建期间(在编辑器中),我们希望使用浏览器控制台对这些脚本(更改字符串)进行更改。 然后,我们只需将脚本粘贴到控制台中,即可为我们做所有更改。 然后,我们保存页面并更新脚本。

需要明确的是,这不是在运行时,而是在页面的构建期间。 尚未更改过的脚本也不会在编辑器中执行。

这是一个脚本的示例(精简了一下,因为脚本的工作原理在这里并不重要):

<script id="facebookPixel">

!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('set', 'autoConfig', false, '123123123');

fbq('track', 'Purchase', {

content_ids: [456465456] //this is a random number
 });

</script>

现在的问题是:如何使用jQuery访问脚本标签的内容?

我尝试了.text,.html,.innerHTML,但它们没有返回实际的内容。

我最终想要做的是将字符串“ content_ids:[randomnumber]”替换为“ content_ids:[myNewNumber]”

我也尝试过此建议但未成功: https : //stackoverflow.com/a/31598972/5072891

您可以使用正则表达式,删除脚本标签并附加一个新创建的标签:

 let scriptStr = $("#facebookPixel").html().replace(/content_ids: \\[+(.*?)\\]/, 'contents_id: [345, 567]'); $("#facebookPixel").remove(); let script = document.createElement('script'); script.id = "facebookPixel"; script.innerHTML = scriptStr; $(document.head).append(script); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script id="facebookPixel"> !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('set', 'autoConfig', false, '123123123'); fbq('track', 'Purchase', { content_ids: [456465456] //this is a random number }); </script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM