2015-12-02 44 views
-3

我已經創建了一個自定義協議myapp:,就像mailto:,它使用JavaScript在客戶端打開一個exe。所以,只要我在那裏調用的JavaScript打開一個對話框,要求選擇我想要打開的應用程序。 我只是想設置它在代碼中打開的默認應用程序,並且不打開該對話框。我知道我可以手動更改總是要求設置Mozilla瀏覽器的默認設置,但我希望通過代碼。以便用戶不必做任何事情。 這可能嗎?如果是的話,請指導我如何實現這一目標。在FireFox瀏覽器中打開自定義協議..!

+2

如果有可能,它應該儘快修復作爲一個主要的安全問題 –

+0

是的,你可以。它的調用navigator.registerProtocolHandler(),如果我正確地理解你的問題... – dandavis

+0

感謝您的答覆,其實我已經註冊了協議已經通過,我可以打開exe也,但我想禁用對話框(通過代碼),它始終打開,以選擇我們想要打開的應用程序。在safari瀏覽器中,它直接打開,沒有任何對話框,我想爲Mozila一樣。瀏覽器...! – avaneesh

回答

0

您無法從非特權網頁設置此類設置,這將是一個巨大的安全問題。

你可以從網頁上詢問用戶是否將web應用程序註冊爲自定義協議處理程序,但不是exe。但是,如果該exe文件是由您自己編寫的,則可以將其註冊爲OS內的協議處理程序。

+0

感謝您的回覆,其實我已經註冊了協議,通過我也可以打開exe文件,但我想禁用對話框(通過代碼),它始終打開,以選擇我們想要打開的應用程序。在safari瀏覽器中,它直接打開,沒有任何對話框,我想爲Mozila一樣..瀏覽器...! – avaneesh

+0

我想你最好的辦法就是通過你的程序來破解Firefox的設置,就像你從可執行文件註冊協議一樣。這是[https://groups.google.com/forum/#!msg/mozilla.support.firefox/Pxrx0-SKW1c/gyBVXgqB2MUJ]完成的,但我不知道如何與firefox進行交互的最佳做法設置。 – Bergi