我正在嘗試使用Cocoa和Swift創建Web瀏覽器。我有一個NSTextField
用戶可以進入他想要打開的網站和一個WebView
顯示所請求的頁面。到目前爲止,爲了改善用戶體驗,我正在檢查用戶輸入的網站是否以http://
開頭,如果不是,則添加它。那麼,它適用於大多數情況下,但不是每次,例如當用戶想要打開本地網頁或類似about:blank
。我如何檢查是否需要添加http://
,如果我應該添加https://
而不是http://
?何時將http(s)://添加到網站地址
0
A
回答
0
你需要在你對什麼樣的用戶在鍵入的分類更精確 下面是一些例子和預期反應:
- www.google.com:應該翻譯成http://www.google.com
- ftp://www.foo.com :不應該被修改。同去的file://(本地)
- 奧巴馬:可能應該運行搜索引擎
- 約:設置:應該打開內部頁
所以你弄清楚這些規則後,所有的例外情況,你可以使用正則表達式來找出應該做什麼。對於HTTP與HTTPS - 如果站點支持HTTPS,如果您轉到HTTP鏈接,您將獲得重定向響應(307內部重定向,301永久移動等)。因此,例如,如果您嘗試導航至http://www.facebook.com,則會收到307將您重定向至https://www.facebook.com。換句話說,取決於網站告訴瀏覽器它有HTTPS(除非你自己導航到HTTPS開始)。
0
一個簡單而相當準確的方法就是尋找不同模式的存在。如果字符串在遇到任何斜線之前以[SomeText]:
開頭,則可能意圖指示不同的架構,例如about:
,mailto:
,file:
或ftp:
。
如果您沒有看到非http架構,請嘗試通過預先計劃http://
將URL解析爲HTTP URL。
相關問題
- 1. 如何將網站添加到iphone/ipad地址簿?
- 2. 添加http到網站URl
- 3. 如何將地址添加到地址?
- 4. 如何將自定義簡單網址添加到Liferay網站?
- 5. 如何將地址添加到網頁上的谷歌地圖?
- 6. 將網站添加到IIS
- 7. 將getTotal添加到網站
- 8. 將Wordpress添加到網站
- 9. 將網頁網址添加到網域
- 10. 如何添加谷歌地方API的網站和地址?
- 11. 當www時,WordPress網站中斷。被添加到網址
- 12. 如何將php添加到網址?
- 13. 如何將網址添加到書籤?
- 14. htaccess文件將虛擬目錄地址添加到網址
- 15. HTTP錯誤500.23帶點添加到我的本地網站
- 16. 如何在需要時將「http://」協議預先添加到網址中?
- 17. 添加網站到主屏幕沒有地址欄
- 18. 阻止IP地址添加到網站計數器?
- 19. 將RSS添加到任何網站?
- 20. 如何將mvc網站添加到iis7
- 21. 如何將OpenID添加到php網站?
- 22. get_absolute_url - Django`s網站地圖
- 23. 如何在WordPress中添加自定義網址到網站地圖
- 24. 將追加斜槓添加到網址
- 25. 將http://添加到提交的網址的開頭
- 26. Spring集成:如何將自定義HTTP標頭添加到HTTP出站網關?
- 27. 如何將谷歌地圖添加到我的網站
- 28. 如何將Google地圖添加到網站?
- 29. 如何將動態谷歌地圖添加到我的網站?
- 30. mysql將http://添加到網站列中的所有記錄