2013-07-26 41 views
0

我做了一個firebreath(Windows)的瀏覽器插件。現在我更新插件 - 但是插件無法升級,直到加載插件。如何從插件重置瀏覽器

如何重新啓動瀏覽器以刷新插件?或者作爲可以從瀏覽器緩存下載的插件?

回答

1

我看到的選項:

  • 告訴用戶安裝後/更新
  • 重啓瀏覽器告訴用戶在進行安裝之前,關閉瀏覽器(或多個)

請注意,您仍然可能在替換DLL時遇到問題。例如, Flash會將其文件名與後綴的後綴(例如npYourPlugin_1_2_77.dll)一起後綴,因此文件鎖定不成問題。

如果你這樣做,你可能甚至不需要重新啓動瀏覽器,當你可以呼叫navigator.plugins.refresh()(自Firefox 17以來的作品,但不確定其他瀏覽器)。

另外請注意,我不確定ActiveX插件(IE),如果你需要支持 - 也許taxilian會在這種情況下和其他情況下,我沒有碰到自己。

+1

你已經介紹了我提到的主要事情;我之前設法升級了一個IE控件(根據您的建議使用文件名中的版本號,另外將它放置在版本特定的文件夾中),但從來沒有使用FireBreath,並且可能FireBreath中有一些內容是這樣做會阻止它正常工作,因爲我沒有人知道它已經與FireBreath一起工作。 – taxilian

+0

文件與我幫助過的版本!謝謝!但我想知道如何從c + +代碼重新啓動瀏覽器 – user2618420

+0

如果你是從插件的意思 - 這真的不是一個好主意。如果您的意思是來自外部應用程序(安裝程序,更新程序),則可以使用系統API(正常)結束瀏覽器進程。請注意,除非由於可​​能的數據丟失而向用戶詢問,否則這仍然不是一個好主意。我認爲實際上重新啓動瀏覽器並不是一項簡單的任務 - 您可以啓動剛剛關閉的二進制文件,但可能會錯過例如環境變量或由某些實際啓動的幫助應用程序完成的設置。 –

0

升級我firebreath插件的步驟是

  1. 由NSIS製作的插件安裝程序。
  2. 在安裝開始時,檢測插件是否被任何瀏覽器佔用。
  3. 關閉當前正在使用該插件的所有瀏覽器。
  4. 卸載以前版本的pluin。
  5. 在最新版本號的文件夾中安裝新版插件。
  6. 安裝結束後,重新啓動先前關閉的瀏覽器,並導航到所需的URL。

順便說一句,就像Georg提到的那樣,在檢查插件的版本後,您不需要重新啓動Chrome和Firefox,這意味着您需要升級插件並立即使用新插件。 但是,您必須重新啓動IE,因爲當您獲取activex控件的版本時,必須對其進行實例化,這會使插件首先加載。

現在,它和預期的一樣運作良好。