對webview 加載的文本中所有的網址變成可點擊操作處理(我的方法:過濾所有的網址,然后變成html中的超鏈接情勢如:<a href="http://www.baidu.com">www.baidu.com</a>),1開始沒發現有屬性可以設置,嘗試了自己過濾html內容,發現自己過濾html中的內容時,標簽對中的網址、和1些圖片顯示的網址、或輸入習慣(多了空格,多了些字符等)會造成比較困難正確的把網址過濾,和在替換時候會出錯。忙活了1陣子。。。。(┬_┬)白白忙活了,還是做下網址過濾正則表達式的記錄吧:
1.http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
2.((([A-Za-z]{3,9}:(?://)?)(?:[-;:&=+$,w]+@)?[A-Za-z0⑼.-]+|(?:www.|[-;:&=+$,w]+@)[A-Za-z0⑼.-]+)((?:/[+~%/.w-_]*)???(?:[-+=&;%@.w_]*)#?(?:[.!/w]*))?)
3.(((ftp|https?)://)(www.)?|www.)([da-z-_.]+)([a-z.]{2,7})([/w.-_?&]*)*/?
4.(?i)((?:https?://|wwwd{0,3}[.]|[a-z0⑼.-]+[.][a-z]{2,4}/)(?:[^s()<>]+|(([^s()<>]+|(([^s()<>]+)))*))+(?:(([^s()<>]+|(([^s()<>]+)))*)|[^s`!()[]{};:'".,<>???“”‘’]))
媽蛋啊!!原來webview有屬性可以實現過濾。。。。。對,沒錯,就是下面的屬性。~~o(>_<)o ~~ 以后看屬性得認真
dataDetectorTypes屬性(需要檢測的數據類型),可使得webview文本中 電話,網址,地址等文本加上標識
如果上述屬性已設置了,還沒法使用,多是在html文本中加了屏蔽的屬性
format-detection翻譯成中文的意思是“格式檢測”,顧名思義,它是用來檢測html里的1些格式的,那關于meta的format-detection屬性主要是有以下幾個設置:
你明明寫的1串數字沒加鏈接樣式,而iPhone會自動把你這個文字加鏈接樣式、并且點擊這個數字還會自動撥號!想去掉這個撥號鏈接該如何操作呢?這時候我們的meta又該大顯神通了,代碼以下:
telephone=no就制止了把數字轉化為撥號鏈接!
telephone=yes就開啟了把數字轉化為撥號鏈接,要開啟轉化功能,這個meta就不用寫了,在默許是情況下就是開啟!
2、email
告知裝備不辨認郵箱,點擊以后不自動發送
email=no制止作為郵箱地址!
email=yes就開啟了把文字默許為郵箱地址,這個meta就不用寫了,在默許是情況下就是開啟!
3、adress
adress=no制止跳轉至地圖!
adress=yes就開啟了點擊地址直接跳轉至地圖的功能,在默許是情況下就是開啟!
UIWebView在發送要求之前,都會調?用這個?方法,如果返回NO,代表停?止加載 要求,返回YES,代表允許加載要求
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
可用于監聽上面所說的事件
[[[request URL] scheme]]isEqualToString:@"mailto"]--判斷郵件地址
[[[request URL] scheme]]isEqualToString:@"tel"]--判斷電話號碼
[[[request URL] scheme]]isEqualToString:@"http"]--判斷網址地址
默許標識長按有系統的調用,如何屏蔽呢
方法1、
方法2、更安全的方式是,寫html的時候加上以下代碼,這樣不管誰調用你的網頁,長按鏈接都不會呼出彈窗框
上一篇 sqlserver 更改跟蹤案例
下一篇 Java遇上MySQL