`
zxs19861202
  • 浏览: 916005 次
  • 性别: Icon_minigender_1
  • 来自: 湖北—》上海
社区版块
存档分类
最新评论

IOS UIWebView截获html并修改便签内容,宽度自适应

    博客分类:
  • ios
阅读更多

需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果; 
方法:通过js截获UIWebView中的html,然后修改html标签内容; 
实例代码: 
服务器端html

Java代码  收藏代码
  1. <html><head>  
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  3. <meta name="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 = [NSString stringWithFormat:@"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.     [webView stringByEvaluatingJavaScriptFromString:meta];  
  6. }  


这样问题就可以解决了 

新增代码: 

Java代码  收藏代码
  1. //给网页增加utf-8编码  
  2.  [webView stringByEvaluatingJavaScriptFromString:  
  3.  @"var tagHead =document.documentElement.firstChild;"  
  4.   "var tagMeta = document.createElement(\"meta\");"   
  5.   "tagMeta.setAttribute(\"http-equiv\", \"Content-Type\");"   
  6.   "tagMeta.setAttribute(\"content\", \"text/html; charset=utf-8\");"   
  7.   "var tagHeadAdd = tagHead.appendChild(tagMeta);"];  

 

Java代码  收藏代码
  1. //给网页增加css样式  
  2.     [webView stringByEvaluatingJavaScriptFromString:  
  3.      @"var tagHead =document.documentElement.firstChild;"  
  4.      "var tagStyle = document.createElement(\"style\");"   
  5.      "tagStyle.setAttribute(\"type\", \"text/css\");"   
  6.      "tagStyle.appendChild(document.createTextNode(\"BODY{padding: 20pt 15pt}\"));"  
  7.      "var tagHeadAdd = tagHead.appendChild(tagStyle);"];  



Java代码  收藏代码
  1. //拦截网页图片  并修改图片大小        
  2. [webView stringByEvaluatingJavaScriptFromString:  
  3.  @"var script = document.createElement('script');"   
  4.  "script.type = 'text/javascript';"   
  5.  "script.text = \"function ResizeImages() { "   
  6.      "var myimg,oldwidth;"  
  7.      "var maxwidth=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.   
  19. [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];  


其他html属性重载和此方法类似; 
参考网址: 
(stringByEvaluatingJavaScriptFromString的使用方法)http://www.uml.org.cn/mobiledev/201108181.asp   
( iphone 获取UIWebView内Html方法)http://blog.csdn.net/diyagoanyhacker/article/details/6564897 
(IOS UIWebView引用外部CSS样式)http://hi.baidu.com/jwq359699768/item/780879e5c98bfb3e4ddcaf22

分享到:
评论

相关推荐

    IOS UIWebView Demo

    【标题】:“IOS UIWebView Demo”是一个iOS应用开发中的实例,它主要展示了如何在iOS应用中集成和使用UIWebView组件来加载和展示网页内容。UIWebView是Apple iOS SDK提供的一种原生控件,用于在iOS应用程序内部显示...

    iOS WKWebView和UIWebView高度自适应

    本篇文章将深入探讨如何在iOS应用中实现WKWebView和UIWebView的高度自适应,确保它们能够根据加载的HTML内容自动调整视图大小。 首先,我们来看UIWebView。UIWebView是早期引入的组件,虽然简单易用,但在处理复杂...

    iOS WKWebView和UIWebView自适应高度

    本篇文章将深入探讨如何在iOS应用中,特别是针对WKWebView和UIWebView,实现根据加载的HTML内容自适应高度的功能。 首先,我们来看一下UIWebView。UIWebView是早期iOS SDK中的一个组件,它提供了加载和显示网页的...

    iOS UIWebView URL拦截.pdf

    在iOS应用开发中,UIWebView是一个非常常见的组件,用于加载和显示HTML内容。然而,有时候开发者需要对加载的资源进行一些特殊处理,比如在本文提到的案例中,由于JavaScript文件过大导致加载速度慢,开发者想要将...

    iOS UIWebView的缓存

    在iOS开发中,UIWebView是苹果提供的一种用于展示网页内容的控件,它允许开发者在应用内部嵌入HTML、CSS和JavaScript代码。然而,当网络条件不佳或者无网络时,UIWebView无法正常加载网页,这可能导致用户体验下降。...

    ios UIWebView使用

    在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。它允许开发者在应用内部加载HTML、CSS和JavaScript代码,为用户提供一个类似Safari浏览器的浏览体验。下面将详细介绍UIWebView的使用,...

    ios-完美的UIWebView.zip

    在iOS开发中,UIWebView是苹果提供的一种用于在应用程序内展示网页内容的组件。它允许开发者在App中嵌入HTML、CSS和JavaScript代码,从而实现丰富的交互性。然而,随着技术的发展,苹果在iOS 8中引入了WKWebView,...

    iOSUIWebView 优化 内存大大降低

    在iOS开发中,UIWebView是用于展示网页内容的重要组件,但它常常被诟病为内存消耗大,容易引发应用性能问题。本篇文章将深入探讨如何针对UIWebView进行优化,以实现内存的有效管理和降低。 首先,我们需要理解...

    unity uiwebview 上架IOS被拒 解决办法

    ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Unity IOS审核被拒,解决办法,去网上看了好多帖子,...

    iOS-UIWebview缓存并保证实时性

    在iOS开发中,UIWebView是用于展示网页内容的重要组件,然而在处理大量数据或网络状况不稳定的情况下,如何实现UIWebView的缓存并确保信息的实时性是一个常见的挑战。本篇文章将深入探讨这个问题,并提供一种解决...

    IOS UIWebView去除js的alert网址

    js中有 ALert confirm 和promopt 三种 类似ios本地的 UIAlertview 样子 但是在 ios native 的app 中 弹出的话alert 的title 是 url 的地址,比较丑 为了美观,我们要加入以下的方法。 提供完整DEMO可供下载

    Cocos2dx中UIWebView替换为WKWebView

    你需要找到Cocos2dx引擎中的`UIWebViewImpl-ios.mm`文件,并对其进行修改。这个文件包含了UIWebView的实现细节,你需要将UIWebView相关的代码替换为WKWebView的实现。这个过程涉及到一些工作,包括但不限于初始化...

    UIWebView原生与H5交互

    在iOS开发中,UIWebView是苹果提供的一种组件,用于在应用程序中展示网页内容。它不仅可以加载HTML页面,还可以执行JavaScript代码,甚至与原生代码进行交互。这种交互性使得开发者可以利用HTML、CSS和JavaScript的...

    ios-UIWebView简易浏览器

    在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用程序内展示网页内容。这个项目"ios-UIWebView简易浏览器"很显然是一个基于UIWebView实现的简单Web浏览器应用。下面我们将深入探讨UIWebView的基本用法、...

    UIWebView中加载本地图片

    在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。它可以加载远程HTML内容,也可以处理本地的HTML文件。然而,当我们要在UIWebView中加载本地图片时,就需要对这个过程做一些特别的处理...

    iOS UIWebView 通过 cookie 完成自动登录实例

    在iOS应用开发中,UIWebView是一个非常重要的组件,它允许我们加载和展示Web内容。有时候,我们需要在UIWebView中实现自动登录功能,特别是在用户已经登录过一次并保存了登录状态的情况下。本文将详细介绍如何利用...

    UIWebView与 javascript的交互三

    在iOS开发中,UIWebView是苹果提供的一种组件,用于在应用程序内部展示网页内容。这篇教程“UIWebView与javascript的交互三”聚焦于如何利用UIWebView实现Objective-C(OC)代码与嵌入的HTML页面之间的数据交换,这...

    ios-TableView Cell加载WebiView高度自适应.zip

    总之,"ios-TableView Cell加载WebiView高度自适应.zip"的内容是关于如何在UITableView的Cell中嵌入WKWebView,并使其高度根据网页内容动态自适应。通过结合WKWebView的代理方法、JavaScript的注入以及UITableView的...

    swift-两步实现iOSUIWebView通过cookie完成自动登录。

    在iOS应用开发中,UIWebView是苹果提供的一种用于在应用内加载网页内容的组件。有时候,我们希望用户在登录一次后,再次打开应用时能够自动登录,这时就需要利用cookie来保存用户状态。以下将详细解释如何使用Swift...

    IOS之UIWebView的使用(基本知识)共7页.pdf

    在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中嵌入网页内容的组件。它允许开发者在App内部展示HTML、CSS和JavaScript等Web技术构建的内容,为用户提供一种与Web服务交互的方式。本资料“IOS之UIWebView的...

Global site tag (gtag.js) - Google Analytics