首页 > 解决方案 > 当脚本 src 被阻止时添加一些 HTML 元素

问题描述

我很好奇是否可以创建一些 HTML 元素,当某些脚本 src 被浏览器阻止时(fe 因为隐身模式)。考虑以下代码,如何修改它来实现它?

(function() {
  var w = window;
  var ic = w.Intercom;
  if (typeof ic === "function") {
    ic('reattach_activator');
    ic('update', intercomSettings);
  } else {
    var d = document;
    var i = function() {
      i.c(arguments)
    };
    i.q = [];
    i.c = function(args) {
      i.q.push(args)
    };
    w.Intercom = i;

    function l() {
      var s = d.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = 'https://widget.intercom.io/widget/viov7xor';
      var x = d.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
    if (w.attachEvent) {
      w.attachEvent('onload', l);
    } else {
      w.addEventListener('load', l, false);
    }
  }
})()

标签: javascript

解决方案


我已经l在上述代码的函数中添加了这行代码......现在它会在对讲脚本发生一些错误时创建 div。

s.onerror=()=>{var ierr=d.createElement('div');ierr.id='intercom-error';d.body.appendChild(ierr)};

推荐阅读