【问题标题】:AdBlock subscription link is not executing JavaScriptAdBlock 订阅链接未执行 JavaScript
【发布时间】:2016-11-02 14:15:17
【问题描述】:

我现在正在处理一些奇怪的问题。我创建了一个链接,该链接将添加到 AdBlock 或 ABP 插件过滤器列表中,其中包含一些例外情况,例如:

AdBlock 过滤器文件 (adblock_dictionary.txt)

[Adblock Plus 2.0]
! Homepage: http://www.domain.com
@@||domain.com/$document

具体链接

 <a href="abp:subscribe?location=path/to/adblock/adblock_dictionary.txt&amp;title=Sometitle" class="button">Turn off AdBlock</a>

如果有人想知道那是什么,可以创建链接here

它工作正常,弹出窗口,并添加了过滤器。问题是,当我想执行一些简单的 JavaScript 函数(例如,将数据发送到 Google Analytics,甚至只是 alert('something'))时,它没有执行脚本。已经尝试以多种方式运行它,模拟点击、触发、jQuery、onclick(即使使用javascript:function()),但似乎没有任何效果,只是在我使用这个特定链接时没有执行 JavaScript。

这不起作用

<a href="abp:subscribe?location=path/to/adblock/adblock_dictionary.txt&amp;title=Sometitle" class="button" onclick="function()">Turn off AdBlock</a>

<script type="text/javascript">
function() {
    alert('Something'); // or other stuff
}
</script>

也许有人遇到了同样的问题并解决了?我将不胜感激任何如何解决它的概念。

更新

仍然没有灵魂。寻找有想法的人:)

【问题讨论】:

    标签: javascript jquery html adblock


    【解决方案1】:

    因为在锚标记上,被调用的函数应该返回 true 才能正确执行,所以这不是一个好方法。

    你可以这样做:

    <a href="javascript:myFunction();">Link</a>
    

    在你的 js 文件中:

    function myFunction() {
        var url = 'abp:subscribe?location=path/to/adblock/adblock_dictionary.txt&amp;title=Sometitle'
        var win = window.open(url, '_blank');
        win.focus();
    }
    

    当然你可以在函数中做任何你想做的事情。

    【讨论】:

    • 这不起作用,而这 3 行在功能中显示:VM11561:1 Uncaught ReferenceError: myFunction is not defined(…),当我评论它并写一些 console.log 它有效。奇怪,不是吗?无论如何,这个链接有点奇怪......尝试通过浏览器地址输入运行它,它会谷歌它,而不是执行。但是,虽然它在 a href 中,但它可以工作。
    • 奇怪的是它是一个简单的函数。您是否尝试过不使用anchor?喜欢&lt;div onClick="myFunction();"&gt;Link&lt;/div&gt;
    • 好吧,我没有看到: 而不是=。无论如何,现在它转到about:blank,而不是这个链接,和console.log 日志。已经尝试过&lt;div onclick="javascript:myFunction();"&gt;Turn off AdBlock&lt;/div&gt;,但行为仍然相同。
    • 是的,: 是错误类型,但我更新了。我猜那个abp 不能被浏览器识别。请告知您是否找到了更好的解决方案,或者以后是否对您有用。干杯
    • a 被点击时浏览器会进入插件并添加一个过滤器,但也许这个abp: 有什么问题会中止JavaScript。无论如何谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多