2013-03-06 17 views
3

Firefox在Firefox 19中引入了本機PDF查看器,該查看器運行良好。但是,在我的網站上,我想檢測PDF是否在Adobe Acrobat插件的本機PDF查看器中打開。檢測Firefox中的本地PDF查看器(在Firefox 19中引入)是否爲主PDF查看器

在此基礎上,我想告訴用戶選擇不同的查看器(Adobe Acrobat)。

+1

從[這個線程(http://forums.mozillazine.org/viewtopic.php?f=23&t=2649203):「我認爲唯一的檢測是否啓用的方法是嵌入一個小的虛擬pdf,然後運行一些JS代碼來檢查PDFJS.version變量「 – 2013-03-06 06:57:23

+0

,這對於網站是有意義的......如果有人正在編寫一個可以運行的插件所有的應用? – hjindal 2013-03-06 12:02:42

+0

也許你可以使用navigator.plugins找出:https://developer.mozilla.org/en-US/docs/DOM/window.navigator.plugins – 2013-03-06 16:24:01

回答

-1

如果我們做到這一點:

if(document.contentType="text\html" && window.location.href.endsWith(".pdf") > -1) 
     return true; // native PDF viewer is opened 
else 
     return false; 

上面的代碼是基於假設,對於PDF文件的URL將始終以.PDF結束。這有多可靠?

+0

如何在PDF文件加載時運行此操作?作爲您在評論中提到的F​​irefox插件?如果你正在編寫一個Firefox插件,你應該在你的問題中提到。 Btw string.endsWith僅適用於最近的瀏覽器。 – 2013-03-06 13:42:41

+0

當PDF文件在FF中加載時,內容類型爲text \ html,因爲它不是PDF,正如我在前面的評論中提到的那樣...並且我們可以編寫替代的endsWith自己,我只是爲了簡單而寫它... – hjindal 2013-03-07 05:54:18

+0

只要您還檢查大寫.PDF我想它會很可靠。如果您嘗試使用沒有擴展名的PDF,Firefox是否甚至會檢測到它?無論如何,如上所示檢查PDFJS.version變量有什麼問題? – 2013-03-07 12:57:20