2016-10-18 3 views
0

私はプラグインの配列を取得していますどのようなここにJavaScriptでnavigator.pluginsではなく、「PDFに建てられたWebKit」のadobePDFViewerプラグインを検出することができるように、adobePDFViewer.pluginでサファリ10の "WebKit Built in pdf"をadobe pdfでオーバーライドする方法は?

をサファリ10の「PDFに建てられたWebKit」を上書きしたいです"MacIntel"

プラグイン:PluginArray

0:プラグイン{0:MIMEタイプ、1:MIMEタイプ、2:MIMEタイプ、名称:「最新サファリ10

プラットフォームのコンソールでnavigator.pluginsからWebKit組み込みPDF "、ファイル名:" "、説明:" "、長さ:3、項目:関数、 ...}

長さ:1

PluginArrayプロトタイプ

製品: "ヤモリ"

productSub: "20030107"

のuserAgent:の「Mozilla/5.0(マッキントッシュ。インテルのMac OS X 10_12)のAppleWebKit/602.1.50ヤモリのような(KHTML、)バージョン/ 10.0サファリ/ 602.1.50"

ベンダー: "アップルコンピュータ社"

vendorSub: ""

webdriverを:未定義

+0

私はなぜそれが起こっていない..見つけました! – Deepender

答えて

0

こんにちは、私は自分自身をこの溶液に答えを見つけた一人一人... Safariや他の最新のブラウザとFirefox今のよう はそれができないことを意味するオブジェクトのナビゲータ[]配列を介して列挙を制限!プラグインはnavigator.plugins []を列挙するコンテンツになります。この変更はプラグインを無効にするものではなく、プラグイン列挙からのns名。

から取られましたhttps://wiki.mozilla.org/Fingerprinting ウェブコンテンツがnavigator.plugins []にプラグイン名で照会できるので、すべてのプラグイン名が隠される可能性があります。 Navigator.plugins ["Shockwave Flash"]の名前を尋ねるのではなく、navigator.plugins []を列挙してプラグイン名を1つずつ比較することでFlashやQuickTimeをチェックしているため、すべてのプラグイン名を隠すことはできませんでした。これらのウェブサイトは修正する必要があります。

for (plugin of navigator.plugins) { console.log(plugin.name); } 

"Shockwave Flash" 
"QuickTime Plug-in 7.7.3" 
"Default Browser Helper" 
"Unity Player" 
"Google Earth Plug-in" 
"Silverlight Plug-In" 
"Java Applet Plug-in" 
"Adobe Acrobat NPAPI Plug-in, Version 11.0.18" 
"WacomTabletPlugin" 

    navigator.plugins["Adobe Acrobat NPAPI Plug-in, Version 11.0.18"].name // get cloaked plugin by name 

    "Adobe Acrobat NPAPI Plug-in, Version 11.0.18" 
関連する問題