Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取加载页面时返回的脚本的属性_Javascript_Reactjs_Google Analytics_Tracking - Fatal编程技术网

Javascript 读取加载页面时返回的脚本的属性

Javascript 读取加载页面时返回的脚本的属性,javascript,reactjs,google-analytics,tracking,Javascript,Reactjs,Google Analytics,Tracking,我正在运行一个react应用程序,当我呈现除了包和其他一些文件之外的主页时,我会得到一个名为https://grcontent.experience-booking.com/file/localhost_script.js: <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-10120331

我正在运行一个react应用程序,当我呈现除了包和其他一些文件之外的主页时,我会得到一个名为
https://grcontent.experience-booking.com/file/localhost_script.js

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-101203313-3"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-101203313-3');
</script>

window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“UA-101203313-3”);

在我的主js文件中,我想以某种方式访问这个脚本中的url,但我不知道如何做到这一点?我想这样做的原因是执行另一个以“UA-101203313-3”为属性的脚本。非常感谢

您应该能够使用
查询选择器
,并执行类似操作以获取URL

注意,我更改了脚本src url,因此它实际上会被调用

var tag=document.querySelector('script[src^='https://www.googletagmanager"]');
var url=tag.src;
console.log(url)
//也可以很简单地得到id,像这样
var params=(新URL(tag.src)).searchParams;
console.log(params.get(“id”))

您应该能够使用
查询选择器
,并执行类似操作以获取URL

注意,我更改了脚本src url,因此它实际上会被调用

var tag=document.querySelector('script[src^='https://www.googletagmanager"]');
var url=tag.src;
console.log(url)
//也可以很简单地得到id,像这样
var params=(新URL(tag.src)).searchParams;
console.log(params.get(“id”))

您可以从页面中检索所有脚本标记,并循环遍历它们以找到正确的标记并解析
src
属性。比如:

var scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));

for (var i=0; i<scripts.length; i++) {
   var script = scripts[i];
   if (script.src && script.src.startsWith('https://www.googletagmanager.com') ){
      return getIdFromSrc(script.src);
   }
}
var scripts=Array.prototype.slice.call(document.getElementsByTagName('script');

对于(var i=0;i,您可以从页面中检索所有脚本标记,并循环遍历它们以找到正确的标记,并解析
src
属性。类似于:

var scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));

for (var i=0; i<scripts.length; i++) {
   var script = scripts[i];
   if (script.src && script.src.startsWith('https://www.googletagmanager.com') ){
      return getIdFromSrc(script.src);
   }
}
var scripts=Array.prototype.slice.call(document.getElementsByTagName('script');

for(var i=0;ii)得到的错误是document.querySelect不是function@user7334203使用工作示例更新…我最初拼错了:)我得到的错误是document.querySelect不是function@user7334203更新了工作样本…我最初拼错了:)当一个电话就能完成所有不必要的工作时,人们为什么会想要这些不必要的工作呢?显然,有些解决方案比其他的好,在这种情况下,您的解决方案更好/shrugWhy一个人会想要所有不必要的工作负载,而这一切都可以通过一个调用完成?显然,有些解决方案比其他解决方案更好,在这种情况下,您的解决方案更好/耸肩