在特定页面上禁用JS弹出脚本

时间:2018-08-28 18:44:40

标签: javascript jquery

[!新手警报!]我使用的电子商务平台不允许我编辑源代码。我只能添加新代码(html,js或css)来尝试进行所需的修改。我想做的就是找到一种方法来仅在一个特定页面上禁用新闻稿弹出窗口的脚本。我想到的唯一方法是添加一个额外的JS脚本,该脚本限制了我不允许编辑的先前脚本的操作。有可能吗?

de Newsletter Popup的原始脚本是这样:

<script type="text/javascript">
  $(function() {
    
      iniciarModalNews();
    
  });
  function iniciarModalNews() {
    if (!$.cookie('showModalNews')) {
      
      
              showModalNews();
      
      
    };
  }
  function showModalNews() {
    $.fancybox.open({
      type: 'html',
      minWidth: 270,
      maxWidth: 350,
      content: $('#modalNewsletter'),
      beforeClose: function() {
        $.cookie('showModalNews', 'hide', {
          expires: 1,
          path: '/'
        });
      }
    });
  }
</script>

它运行在网站的所有页面上,我只想排除一页。有办法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

全面披露:此建议不会被视为最佳做法,但如果它是一次性的情况,而您无法访问源代码,那么它将起作用。

如果只需要在一页上禁用此功能,并有权在showModalNews() { ... }声明下方插入一个脚本块,则可以通过编写一个具有相同名称的新函数来覆盖showModalNews()函数。调用showModalNews方法的方法位于通过IIFE(https://developer.mozilla.org/en-US/docs/Glossary/IIFE)的闭包内部,但是方法showModalNews()并未包装在闭包中,这使您可以覆盖它。

覆盖方法的示例

function showModalNews() { ; }