我開發了一個NP API插件並且正在玩它。我觀察下面兩件事我可以在不重新啓動瀏覽器和機器的情況下安裝插件嗎
- 當我第一次安裝插件時,我需要重新啓動我的mac os來加載插件。
- 每當我更新插件,我需要重新啓動瀏覽器。
我想在不重新啓動瀏覽器和計算機的情況下安裝插件。請指教
我開發了一個NP API插件並且正在玩它。我觀察下面兩件事我可以在不重新啓動瀏覽器和機器的情況下安裝插件嗎
我想在不重新啓動瀏覽器和計算機的情況下安裝插件。請指教
只要您將其安裝爲插件而不是擴展名(例如Firefox上的XPI),則無需重新啓動瀏覽器。在Mac OS X上,這意味着將.plugin文件放入/ Library/Internet Plugins /或〜/ Library/Internet Plugins /中。您可以指示瀏覽器加載插件列表如下:
navigator.plugins.refresh(false);
假告訴它不要刷新頁面做到這一點。
更新是一個稍微不同的問題;除非文件名與原始文件名不同,否則瀏覽器將不會注意到沒有重新啓動瀏覽器就會發生插件更新。我通常的解決方案是在.plugin/bundle文件名中包含插件的版本號,例如「FBTestPlugin_1.0.0.plugin」,所以當它更新時,它的命名方式會有所不同。
在Windows上,不同的NPAPI瀏覽器在插件檢測(以及這些瀏覽器的不同版本)方面存在不同的問題,但是我發現使這項工作最好的方法是將每個插件安裝在版本特定的子目錄中特定的文件名;這看起來有點過分,但我正在處理的情況是使用了一個擁有5000萬次安裝的插件,並且所有支持的瀏覽器版本都必須運行。我也在使用註冊表安裝方法(HKCU/Software/MozillaPlugins)。
希望幫助
你在Windows上安裝一個插件後,你應該叫這樣的:
navigator.plugins.refresh(true);
重新加載包含插件當前頁面。請參閱http://www.devguru.com/technologies/javascript/11232
感謝Taxilian,您是NPAPI插件的導師:) ..我的關注僅限於Mac OS,因爲我只針對MAC。感謝您的回覆 – batwadi
heh。不,我只是最有聲望的;有很多人知道這件事情比我更好,但不幸的是,他們中的大多數人都堅持自己。很高興我能幫上忙。 – taxilian
嗨Taxilian,即使在給予上述JavaScript之後,爲什麼我需要刷新Html頁面2次以便從JavaScript調用任何插件方法。如果您有任何想法請諮詢。 – batwadi