你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> IOS UIWebView截獲html並修改便簽內容,寬度自適應

IOS UIWebView截獲html並修改便簽內容,寬度自適應

編輯:IOS技巧綜合
[摘要]本文是對IOS UIWebView截獲html並修改便簽內容,寬度自適應的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

需求:混合應用UIWebView打開html後,UIWebView有左右滾動條,要去掉左右滾動效果; 方法:通過js截獲UIWebView中的html,然後修改html標簽內容; 實例代碼: 服務器端html

Java代碼
  1. <html><head>
  2. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
  3. <metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
  4. <title>網曝四川省一考場時鐘慢半小時老師稱這就是命</title></head<body>網曝四川省一考場時鐘慢半小時老師稱這就是命</body></html>


這樣顯示的結果網頁的最小寬度會是device-width;但有時候不需要這個寬度,就需要修改width=device-width為width=myWidth;
客戶端代碼

Java代碼
  1. -(void)webViewDidFinishLoad:(UIWebView*)webView
  2. {
  3. //修改服務器頁面的meta的值
  4. NSString*meta=[NSStringstringWithFormat:@"document.getElementsByName(\"viewport\")[0].content=\"width=%f,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\"",webView.frame.size.width];
  5. [webViewstringByEvaluatingJavaScriptFromString:meta];
  6. }


這樣問題就可以解決了

新增代碼:

Java代碼
  1. //給網頁增加utf-8編碼
  2. [webViewstringByEvaluatingJavaScriptFromString:
  3. @"vartagHead=document.documentElement.firstChild;"
  4. "vartagMeta=document.createElement(\"meta\");"
  5. "tagMeta.setAttribute(\"http-equiv\",\"Content-Type\");"
  6. "tagMeta.setAttribute(\"content\",\"text/html;charset=utf-8\");"
  7. "vartagHeadAdd=tagHead.appendChild(tagMeta);"];
Java代碼
  1. //給網頁增加css樣式
  2. [webViewstringByEvaluatingJavaScriptFromString:
  3. @"vartagHead=document.documentElement.firstChild;"
  4. "vartagStyle=document.createElement(\"style\");"
  5. "tagStyle.setAttribute(\"type\",\"text/css\");"
  6. "tagStyle.appendChild(document.createTextNode(\"BODY{padding:20pt15pt}\"));"
  7. "vartagHeadAdd=tagHead.appendChild(tagStyle);"];



Java代碼
  1. //攔截網頁圖片並修改圖片大小
  2. [webViewstringByEvaluatingJavaScriptFromString:
  3. @"varscript=document.createElement('script');"
  4. "script.type='text/javascript';"
  5. "script.text=\"functionResizeImages(){"
  6. "varmyimg,oldwidth;"
  7. "varmaxwidth=380;"//縮放系數
  8. "for(i=0;i<document.images.length;i++){"
  9. "myimg=document.images[i];"
  10. "if(myimg.width>maxwidth){"
  11. "oldwidth=myimg.width;"
  12. "myimg.width=maxwidth;"
  13. "myimg.height=myimg.height*(maxwidth/oldwidth);"
  14. "}"
  15. "}"
  16. "}\";"
  17. "document.getElementsByTagName('head')[0].appendChild(script);"];
  18. [webViewstringByEvaluatingJavaScriptFromString:@"ResizeImages();"];


其他html屬性重載和此方法類似;

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved