2011-01-22 7 views
1

「AdSenseではイメージのみを選択できませんが、フラッシュは使用できません」という問題を回避する方法をお探しです。私はJSの初心者ですが、あるスクリプトがサイトに埋め込まれた他のスクリプトがフラッシュプラグインの存在を検出できないようにする方法はありますか? AdSenseでうまく動作しない場合でも、これを行うためのハッキングが他の設定で機能するかどうかを知ることはうれしいことです。サイト上のjsコードで、他のjsコードがフラッシュの存在を検出できないようにすることはできますか?

ところで、私はそれがIEや古いブラウザのバージョンで動作しなかったかどうか気にしないと思います。

+4

FlashのAdSense検出を無効にしようとすると、AdSenseの利用規約に違反しています。結局のところ、Googleはよく気付くかもしれません。生活のために。 *完全に不透明な、一度だけの魅力的なプロセスでは、あなたは良い結果を得ることはほとんどありません。 (私を信じてはいけませんか?読んでください:http://www.google.com/support/forum/p/AdSense/label?lid=215fb2e4b67e2667&hl=ja)AdSenseアカウントを評価した場合議論のための問題、それは*ロット*を変える)、それをしないでください。ルール内で作業するか、別の広告ネットワークを使用してください。 –

+0

私は同意しません。私ができるならTJに-1。基本的には、既存のAdSenseコードで作業する必要があります。 Flashの検出を無効にする普遍的な方法がないので、それを見てください。 –

+0

@TJ:私はいくつかの広告を入札から除外したいのであれば、なぜGoogleが気にするべきかわかりません。原則として、レビューセンターをオンにして手動で広告を承認することで同じことをすることができます。 –

答えて

1

navigator.plugins ["Shockwave Flash"]の内容を見て、adsenseがフラッシュを検出したようです。残念ながら、ブラウザにはあなたを許さないので、ちょうどそれを別の値に設定することはできません。同様に、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]; 
    } 
} 

この時点で、ユーザーエージェントなどを検査するスクリプトを作成できますが、プラグインとMIMEタイプは表示されません。

IEを再生するにはActiveXObjectをスタブする必要がありますが、全体的には目標に近づける必要があります。

+0

navigator.pluginsを削除できるブラウザはどれですか? –

+0

Google Chromeはそうです。それは私のマックラップトップの唯一のブラウザです。 FirefoxもSafariもそれをしません。 – Metal

関連する問題