2011-01-22 41 views
1

我正在尋找解決方法,以「AdSense不會讓您選擇僅圖像但不閃光」問題。我相當喜歡JS的新手,但是有沒有辦法讓一個腳本阻止嵌入在網站中的其他腳本檢測Flash插件的存在?即使它不適用於AdSense,也很高興知道是否存在黑客可以在其他設置中執行此操作。可以在網站上的js代碼防止其他js代碼檢測到閃光燈的存在?

順便說一句,我想我不會在意,如果它未能在IE或過時的瀏覽器版本。

+4

如果你想打敗閃存的AdSense的檢測,你就違反了AdSense條款。最終,谷歌可能會注意到,你會發現自己被禁止使用AdSense。終身。如果有*完全*不透明的一次性申訴流程,您不太可能從中獲得好的結果。 (請不要相信我?請閱讀:http://www.google.com/support/forum/p/AdSense/label?lid=215fb2e4b67e2667&hl=zh-CN)如果您重視您的AdSense帳戶(並且您是否應該是辯論的問題,它變化很多*),不要這樣做。既可以在規則中使用,也可以使用其他廣告網絡。 – 2011-01-22 00:28:24

+0

我不同意。如果可以的話,-1到TJ。基本上,你將不得不使用現有的AdSense代碼。看看它,因爲沒有通用的方法來禁用Flash的檢測。 – 2011-01-22 00:48:12

回答

1

它看起來像的AdSense通過看navigator.plugins [ 「的Shockwave Flash」]的內容檢測閃光燈。不幸的是,你不能僅僅爲此設置不同的值,因爲瀏覽器不會讓你。同樣,您不能設置navigator.plugins。有些瀏覽器讓你刪除navigator.plugins,但不是全部。

但是,你可以設置導航。因此,做你想做的事的路徑涉及到創建一個虛假的導航器對象。

var real_navigator = navigator; 
navigator = { plugins:[], mimeTypes:[] }; 
for (var k in real_navigator) { 
    var t = typeof real_navigator[k]; 
    if (t == "string" || t == "function") { 
    navigator[k] = real_navigator[k]; 
    } 
} 

在這一點上,你仍然可以有檢查你的用戶代理等腳本,但插件和mimetypes不會顯示出來。

這不是防呆,你不得不如果你想IE一起玩存根的ActiveXObject,但總體而言,這應該讓你更接近你的目標。