Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 如何根据HTML中包含的特定脚本排除Google标记管理器中的标记_Javascript_Html_Internet Explorer 8_Google Tag Manager_Fusioncharts - Fatal编程技术网

Javascript 如何根据HTML中包含的特定脚本排除Google标记管理器中的标记

Javascript 如何根据HTML中包含的特定脚本排除Google标记管理器中的标记,javascript,html,internet-explorer-8,google-tag-manager,fusioncharts,Javascript,Html,Internet Explorer 8,Google Tag Manager,Fusioncharts,我必须修改我们的Google Tag Manager容器,我对GTM非常在行。IE8和使用融合图表的页面存在问题。通过这种组合,我在gtm.js中发现了一个javascript错误,并且我发现它位于表单提交侦听器中。所以我想我会在标签上添加一个例外。例外情况是“如果isIE8和hasFusionChartsControl”。这两个是GTM中“Custom Javascript”类型的变量,我定义如下: ContinentFusionCharts: function() { var file

我必须修改我们的Google Tag Manager容器,我对GTM非常在行。IE8和使用融合图表的页面存在问题。通过这种组合,我在gtm.js中发现了一个javascript错误,并且我发现它位于表单提交侦听器中。所以我想我会在标签上添加一个例外。例外情况是“如果isIE8和hasFusionChartsControl”。这两个是GTM中“Custom Javascript”类型的变量,我定义如下:

ContinentFusionCharts:

function() { 
  var file = "fusioncharts.js";
  var scripts = document.getElementsByTagName("script");
  for(var i = 0; i < scripts.length; i++) {
    if (scripts[i].src != undefined && scripts[i].src.substr(scripts[i].src.length-file.length) == file) {
      return true;
    }
  }

  return false;
}
function(){
var file=“fusioncharts.js”;
var scripts=document.getElementsByTagName(“脚本”);
对于(var i=0;i
估计数8:

function() {
  var isIE = !!document.documentMode; // At least IE6
  var rv = -1; // Return value assumes failure.
  if (isIE) {
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
  }

  return (rv > -1 && rv <= 8.0);
}
function(){
var isIE=!!document.documentMode;//至少IE6
var rv=-1;//返回值假定失败。
如果(isIE){
如果(navigator.appName==“Microsoft Internet Explorer”){
var ua=navigator.userAgent;
var re=newregexp(“MSIE([0-9]{1,}[\.0-9]{0,})”;
如果(重新执行(ua)!=null)
rv=parseFloat(RegExp.$1);
}
}

return(rv>-1&&rv供将来参考,以下是我在谷歌产品论坛上从Simo Ahava那里得到的答案:

异常只会阻止您为其设置的事件 异常只会阻止“窗口加载”事件。是您的标记吗 在该事件中触发?如果您的标签在“所有页面”事件中触发, 它使用的是页面视图,而不是窗口加载事件,因此您需要 相应地更改异常触发器以匹配 标签

或者您可以创建一个全局异常,它阻止所有事件 与其他条件匹配。您可以使用自定义事件来执行此操作 触发器,并将事件名称设置为。*(并检查RegEx)

西莫

我选择使用事件名为.*(使用RegEx)的自定义事件触发器创建全局异常,这样做效果很好