我有一個包含自定義URL協議鏈接的頁面。自定義URL協議在安裝exe時會在用戶的系統上註冊。當用戶點擊網頁上的自定義網址協議鏈接時,它會啓動該exe文件(目前全部正常工作)。但是當他們點擊該鏈接並且沒有在本地安裝exe時,他們會在瀏覽器中獲得一個標準的錯誤頁面。 因此,如果他們沒有本地exe文件,我希望瀏覽器提供一個自定義錯誤頁面,而不是告訴他們他們需要下載exe文件。我認爲這可能與JavaScript在單擊鏈接時監聽該錯誤一樣簡單,並且如果錯誤存在,則顯示自定義錯誤頁面。但我不知道該怎麼做。那裏的錯誤頁面是「網頁無法顯示,最有可能的原因:這個網頁上的一些內容或文件需要一個你沒有安裝的程序。」 (404錯誤我認爲?) 任何幫助是超級讚賞!Javascript 404錯誤檢測
3
A
回答
3
我建議做一個測試函數,確定該協議是否已經安裝:
- 使用協議,讓您的網頁的AJAX調用測試頁。
- 如果這樣做沒有錯誤,那麼頁面的其餘部分可以安全地使用該協議。
- 如果AJAX調用失敗,那麼您將知道該協議尚未安裝。
jquery會使這種方法輕鬆工作。您甚至可以根據測試功能的成功/失敗動態更改鏈接的URL。鏈接可以做出彈出警告,用戶需要安裝協議處理程序。
0
404是一個HTTP狀態碼,所以我不認爲你可以期望當你調用你的自定義協議時。你可以嘗試登錄window.onerror
,但如果這有效,我會感到很驚訝。
我在類似的情況下做的是在安裝中包含一個瀏覽器插件。然後,您可以從腳本檢查處理程序是否在用戶嘗試調用之前安裝。此外,您可以讓您的插件報告安裝的版本,以便您可以提示用戶進行升級。缺點是如果您不想限制支持的瀏覽器,則需要處理多個插件模型和體系結構。
相關問題
- 1. 從包含的JavaScript文件中檢測404錯誤
- 2. 硒IDE - 檢查404錯誤
- 3. 檢索報價 - 404錯誤
- 4. libcurl 404檢測
- 5. 檢測來自附加腳本標記的404錯誤
- 6. 在頁面加載時檢測404錯誤
- 7. 堆錯誤檢測
- 8. 在javascript中檢測鍵盤錯誤
- 9. JavaScript的碰撞檢測錯誤
- 10. 的JavaScript圈的碰撞檢測錯誤
- 11. 在硒測試中檢查Javascript錯誤
- 12. 檢測錯誤錯誤D1
- 13. 檢測404:HTTPS源
- 14. 錯誤404錯誤
- 15. 如何抓取我的網站以檢測404/500錯誤?
- 16. 如何使用Sammy.Template檢測和處理404錯誤?
- 17. 在Angular 2中檢測服務器連接錯誤(404狀態)
- 18. 檢測MSMQ錯誤
- 19. 2DCollider檢測錯誤
- 20. AJAX錯誤檢測
- 21. R:錯誤檢測
- 22. 檢測HtmlLoad錯誤
- 23. 春季啓動測試錯誤404
- 24. .getJSON 404 ModelAndView錯誤
- 25. 測距誤差404
- 26. 檢查jQuery的404個錯誤狀態
- 27. 谷歌拼寫檢查給404錯誤
- 28. Javascript圖像預加載404錯誤
- 29. 如何在Javascript中捕獲404錯誤?
- 30. Codeigniter爲javascript文件顯示404錯誤
你打我:) –
欣賞的迴應。我想我對於一般化的解決方案看起來並沒有那麼多,因爲我是特定的代碼。我知道它也可以通過JavaScript來完成,但不知道我有多少偏好。我所知道的是,我不能用任何語言來做! ;-)我期待的代碼示例..... – Tim
順便說一句,你說打個電話給「測試頁」。該協議正在調用一個本地exe文件。所以你說要對本地系統註冊表進行ajax調用來查看url協議是否在那裏?使用函數調用實際的url協議並不容易,並且如果它的錯誤出現錯誤,或者它不會繼續調用並啓動本地exe文件?我可能會誤解,但這聽起來像是在爲流程添加不必要的步驟。這發生在鏈接點擊上,而不是頁面加載上。 – Tim