2016-11-02 73 views
0

我現在正在處理一些奇怪的問題。我已經創建被添加到廣告攔截或ABP插件過濾列表的鏈接一些例外,例如:AdBlock訂閱鏈接未執行JavaScript

的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函數(f.ex.向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> 

也許有人得到了同樣的問題,解決它?我會很感激任何概念如何解決它。

更新

還是有這個問題並沒有soultion。尋找有一些想法的人:)

回答

0

因爲在錨點標記被調用的函數應該返回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(); 
} 

無論你在功能當然要你可以做。

+0

這是行不通的,而這3行在函數中說:'VM11561:1 Uncaught ReferenceError:myFunction is not defined(...)',當我評論它並編寫一些'console.log'時,它就起作用。奇怪,不是嗎?無論如何,這個鏈接是奇怪的...嘗試通過瀏覽器地址輸入運行它,它會谷歌它,而不是執行。但是,它在'href'中可行。 –

+0

這很奇怪,它是一個簡單的功能。你有沒有試過,而不是使用'錨'?像'

Link
' –

+0

嗯,我沒有看到':'而不是'='。無論如何,現在它轉到'about:blank',而不是這個鏈接和'console.log'日誌。試過已經'

Turn off AdBlock
'但仍然一樣的行爲。 –