- 浏览: 321618 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
gongfengying:
你这东西直接拷贝过来,还一大堆注释的代码,而且没有解释说明,怎 ...
Nginx图片服务器 -
wiwi1024:
PerfectHand 写道为什么没有 sql那一部分呢 求s ...
Ibatis批量插入数据 -
wenxin2009:
sql那部分就跟平常sql一样,一个update语句
Ibatis批量插入数据 -
PerfectHand:
为什么没有 sql那一部分呢 求sql 那一部分
Ibatis批量插入数据 -
heliang0915:
有源代码吗?麻烦上传一下,谢谢了!
Spring MVC与Mongodb整合开发实例
UIWebView加载html并调用js,html中需动态行进传值,用字符串格式方式动态添加,下面代码中有相关实现.
stringByEvaluatingJavaScriptFromString方法作用是返回运行后js结果,使用请见代码。
// // ViewController.h // WebViewTest // UIWebView加载html并调用js // Created by on 12-10-30. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIWebViewDelegate> @property (weak, nonatomic) IBOutlet UIWebView *webView; @property (strong,nonatomic) NSMutableArray *arrayLanguages; #pragma 方法 //创建webView内容方法 - (void)createWebViewContent; //创建语言界面页 - (NSString*)createLanguagePage; //返回运行后js结果 - (void)executeJSFunction:(NSString *)js; @end
// // ViewController.m // WebViewTest // // Created by on 12-10-30. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize webView; @synthesize arrayLanguages; - (void)viewDidLoad { [super viewDidLoad]; arrayLanguages = [[NSMutableArray alloc] initWithCapacity:25]; [self createWebViewContent]; } //创建web内容 - (void)createWebViewContent{ NSString *homePath = [[NSBundle mainBundle] executablePath]; NSArray *strings = [homePath componentsSeparatedByString: @"/"]; NSString *executableName = [strings objectAtIndex:[strings count]-1]; NSString *rawDirectory = [homePath substringToIndex: [homePath length]-[executableName length]-1]; NSString *baseDirectory = [rawDirectory stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; NSString *imagePath = [NSString stringWithFormat:@"file://%@/map.png",baseDirectory]; NSLog(@"imagePath: %@",imagePath); NSString *htmlFile = [NSString stringWithFormat:@"file://%@/welcome.html",baseDirectory]; NSLog(@"htmlFile: %@",htmlFile); NSURL *url = [NSURL URLWithString: htmlFile]; NSData *fileData = [NSData dataWithContentsOfURL:url]; //NSData *fileData = [NSData dataWithContentsOfFile:htmlFile]; NSLog(@"fileData: %@",fileData); NSString *htmlContent = [[NSMutableString alloc] initWithData: fileData encoding:NSUTF8StringEncoding]; NSLog(@"htmlContent: %@",htmlContent); NSString *langContent = [self createLanguagePage]; //通过字符串方式还对html进行动态传值 NSString* string = [NSString stringWithFormat: htmlContent,imagePath,langContent]; NSLog(@"string:%@",string); //Load the HTML String on UIWebView [self.webView loadHTMLString:string baseURL:nil];//加载html字符串到UIWebView上(该方法极为重要) //Adjust position CGRect bounds = [[UIScreen mainScreen] bounds]; int screenWidth = bounds.size.width; int screenHeight = bounds.size.height; self.webView.frame = CGRectMake(0, 20,screenWidth, screenHeight); } //创建语言显示页 - (NSString*)createLanguagePage{ arrayLanguages = [[NSMutableArray alloc] initWithObjects: @"English",@"Deutsch",@"Français",@"Español",@"Italiano",@"Pусский",@"日本語",@"中文", @"العربية",@"বাংলা",@"ελληνικά",@"हिन्दी",@"한국어",@"Bahasa Indonesia",@"Nederlands",@"Norsk", @"اردو",@"Polski",@"Português",@"Svenska",@"தமிழ்",@"Česky",@"Türkçe",@"Tiếng Việt",@"עברית>",nil]; NSMutableString* string =[[NSMutableString alloc]initWithCapacity:1024]; //init a mutable string, initial capacity is not a problem, it is flexible for(int i = 0; i < [arrayLanguages count]; i++){ [string appendString:@"<a href=\"javascript:void(0)\" "]; [string appendString:@"style=\"color:grey;text-decoration: none; "]; [string appendString:@"font-family:'Helvetica'; font-size:14px;\" "]; [string appendString:[NSString stringWithFormat: @" onMouseDown=\"imageClicked('L%d')\">%@</a>", i,[arrayLanguages objectAtIndex:i]]]; [string appendString:@" | "]; if(i%3 == 0) [string appendString:@"<br>"];//换行 } return string; } //返回运行后js结果 - (void)executeJSFunction:(NSString *)jsCommand{ NSString *result = [self.webView stringByEvaluatingJavaScriptFromString:jsCommand]; NSLog(@"result:%@",result); } //webview开始加载请求 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ //linking the javascript to call the iPhone control NSString *url = request.mainDocumentURL.relativePath; if(url != nil) { NSLog(@"url:%@",url); NSArray *strings = [url componentsSeparatedByString: @"/"]; NSString *token = [strings objectAtIndex:[strings count]-1]; NSString *text = @""; if([token hasPrefix:@"L"]){ int i = [[token substringFromIndex:1] intValue]; text = [NSString stringWithFormat:@"language:%@ be selected", [arrayLanguages objectAtIndex:i]]; }else{ text = [NSString stringWithFormat:@"Area:%@ be selected",token]; } //执行js后,得到html里title内容(通过执行js来获取html中的内容) NSString *title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"]; NSLog(@"title :%@",title); NSString *imgSrc = [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('topimage').src;"]; NSLog(@"imgSrc :%@",imgSrc); UIAlertView* alert= [[UIAlertView alloc]initWithTitle:@"javascript message" message:text delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; [alert show]; return FALSE; } return TRUE; } @end
welcome.html
<html> <head> <meta name = "viewport" content = "initial-scale = 1.0, user-scalable = no, width = 320"/> <title>How to build an iPhone website</title> <script> function imageClicked(i){ var clicked = true; var str = ""+i; if(str.charAt(0) != 'L'){ var id = 'area' + i; var el = document.getElementById(id); } alert("调用js : "+i); window.location="http://click/"+i; } function printStr(str){ return str; } </script> <style type="text/css"> .borderImage { -webkit-tap-highlight-color:rgba(0,0,0,0); } </style> </head> <body style="background-color: transparent;margin-top:0px;margin-left:0px"> <center> <div class="borderImage"> <img id="topimage" src="%@ " border="0" height="241" width="319" usemap="#map"> <map name=map> <area shape="rect" id="area0" coords="124,1,191,58" href="javascript:imageClicked(0)" /> <area shape="rect" id="area1" coords="36,64,97,110" href="javascript:imageClicked(1)" /> <area shape="rect" id="area2" coords="119,135,171,182" href="javascript:imageClicked(2)" /> <area shape="rect" id="area3" coords="205,26,248,60" href="javascript:imageClicked(3)" /> <area shape="rect" id="area4" coords="264,88,306,132" href="javascript:imageClicked(4)" /> <area shape="rect" id="area5" coords="272,154,313,199" href="javascript:imageClicked(5)" /> <area shape="rect" id="area6" coords="187,125,232,172" href="javascript:imageClicked(6)" /> <area shape="rect" id="area7" coords="255,1,285,26" href="javascript:imageClicked(7)" /> <area shape="rect" id="area8" coords="283,1,314,26" href="javascript:imageClicked(8)" /> </map> </div> %@ </center> </body> </html>
完整工程请见附件!
- WebViewTest.zip (124.4 KB)
- 下载次数: 138
发表评论
-
解决ios13 app后台挂起时被kill掉
2020-03-14 18:23 1063今天为了解决这个问题,试了好几种方法。下面为介绍下测试的情 ... -
苹果审核社交app汇总
2019-06-27 10:58 0一款两性社交app,功能有虚拟币、会员充值。此类app只能用苹 ... -
支付宝-系统繁忙,请稍后再试。错误码ALI40247
2017-05-16 11:35 6945==========支付宝-系统繁忙,请稍后再试。错误码A ... -
Ract Native笔记
2016-12-02 15:57 840Ract Native 一、Ract Native介绍: ... -
上传图片和mp3
2016-11-11 10:23 566// // UploadImgVo.m // / ... -
iOS图片保存相册
2016-10-24 11:16 660//TODO 调置滤镜 - (void) selectFi ... -
修改ios状态栏和导航颜色
2016-10-18 15:26 7351、在info.plist中添加一个字段:view cont ... -
AFNetworking设置header
2016-09-29 13:08 1332- (void)getTopicData2 { ... -
iOS内存泄漏问题小结
2016-08-10 11:13 444iOS内存问题小结: 近来在做图片滤镜时,出现内存 ... -
UIPickerView省份城市
2016-07-05 19:58 669以下为相关代码,仅供参考: #import <UI ... -
ScrollView自动布局
2016-07-01 11:44 985UIScrollView自动布局一直是初学者比较 ... -
自定义分享界面
2015-11-21 12:22 671自定义分享界,如下图: 示例代码见附件~ -
UIScrollView添加多个UIViewController并滑动
2015-10-21 18:38 3050UIScrollView添加多个UIViewControll ... -
有关UITableView复用问题
2015-09-06 11:07 1438近来用Tableview做了一个九宫格。过程中碰到了两个ce ... -
ios问题记录
2015-08-27 10:33 852问题1. tableviewcell中图片没设 ... -
AppDelegate文件中跳转页面
2015-07-31 11:36 1153目前知道有两种方式,自己小结一下: 方式一: U ... -
自定义UINavigationController有时会有卡机情况!
2015-07-22 01:10 849在项目中,由于导航上面左边和右边按钮需自定义,为全 ... -
自定义UITableViewCell设置setFrame无效!
2015-07-22 00:58 1922今天碰到一个奇怪问题。页面结构为如下图: 由 ... -
ios中的Runtime
2015-07-02 19:07 749今天对Objective-C中的Run ... -
ios学习流水账3
2015-06-12 20:37 8331、线程两种方式: //1、新开启一个线程 [ ...
相关推荐
现在,当UIWebView加载HTML时,它会查找并显示指定的本地图片。如果在加载过程中遇到问题,如图片路径错误或图片格式不支持,UIWebView将不会显示图片。 总结起来,加载本地图片到UIWebView的关键步骤包括:确保...
1. 创建UIWebView实例:首先,在 storyboard 或代码中创建UIWebView对象,并将其添加到视图层次结构中。 2. 设置代理:为了监听网页加载的进度和状态,我们需要设置UIWebView的代理,遵循`UIWebViewDelegate`协议。 ...
默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容,不能使用手指的捏合手势来...
本教程将围绕"IOS--UIWebView加载进度条(NJKWebViewProgress)"这一主题进行讲解。 NJKWebViewProgress 是一个开源库,由Nick Jones(njkolko)开发,它为UIWebView提供了加载进度条的功能。这个库通过拦截请求和...
2. **UIWebView的创建与布局**:在视图控制器的视图加载完成时,我们需要创建UIWebView对象并将其添加到视图层次结构中。这通常在`- (void)viewDidLoad`方法中进行。设置其frame以确定在屏幕上的位置和大小,例如`...
`UIWebView`是苹果提供的一个原生控件,允许开发者在应用程序内部加载和显示HTML内容,从而实现网页浏览功能。在iOS开发中,它是一个非常实用且常见的组件,尤其在需要在应用内嵌入网页或者展示网络内容时。 首先,...
UIWebView可以通过代码或Storyboard添加到项目中。创建实例后,可以通过`loadRequest:`方法加载URL请求,或者使用`loadHTMLString:baseURL:`加载本地或远程的HTML字符串。例如: ```swift let webView = ...
下面我们将详细讲解如何在cocos2d-x中使用UIWebView加载网页。 1. **创建UIWebView对象** 在C++代码中,你需要先创建一个UIWebView对象。这通常在你的场景(Scene)类的初始化方法中完成。例如: ```cpp auto ...
2. 性能:UIWebView加载网页时会消耗大量内存和CPU资源,因此在不需要时应将其移除以释放资源。此外,WKWebView在处理复杂网页时性能更优。 五、替代方案:WKWebView 由于UIWebView存在性能和安全问题,苹果推荐...
2. **初始化UIWebView**:在iOS应用中,你需要先创建UIWebView的实例,然后将其添加到视图层次结构中。这通常在视图控制器的`viewDidLoad`方法中完成。 3. **加载URL**:你可以使用`loadRequest:`方法加载指定URL的...
而在iOS应用中,我们可以通过UIWebView加载自定义的HTML内容来实现这一效果。 步骤一:创建HTML模板 要实现图文混排,我们需要创建一个包含文字和图片的HTML模板。这个模板可以包含一个`<body>`标签,其中包含多个`...
UIWebView是UIKit框架的一部分,它提供了一个可以加载和显示HTML、CSS、JavaScript等Web内容的视图。在你的项目中,你可能用它来加载远程或本地的网页,或者作为应用内展示动态内容的一种方式。下面,我们将深入探讨...
1. 使用UIWebView加载HTML编辑器页面。 2. 通过`stringByEvaluatingJavaScriptFromString:`执行JavaScript代码获取或设置编辑器内容。 3. 实现`UIWebViewDelegate`,监听JavaScript调用原生方法的事件。 4. 设计通信...
UIWebView是UIKit框架的一部分,它允许iOS应用加载和显示HTML、CSS和JavaScript内容。开发者可以使用它来嵌入网页或者实现与网络服务的交互。 2. **初始化与添加到视图** 首先,你需要创建一个UIWebView实例,...
这里的`loadHTMLString:baseURL:`方法用于加载HTML字符串到UIWebView,`baseURL`参数可以用来指定HTML资源的根目录,以便于加载相对路径的视频文件。 至于"iphone开发",这表明这个示例是针对iOS设备的,可能包含了...
首先,我们需要创建一个UIWebView实例,然后通过`loadRequest:`方法加载URL请求或`loadHTMLString:baseURL:`方法加载HTML字符串。设置`UIWebViewDelegate`代理可以监听网页加载状态,如加载开始、完成、失败等事件。...
这个组件允许开发者在不离开应用的情况下加载和显示HTML、CSS和JavaScript等Web资源,为用户提供了丰富的交互体验。在本文中,我们将深入探讨UIWebView的基本使用,包括网络资源地址字符串的处理以及UIWebView的属性...
本文将深入探讨如何在iOS中使用UIWebView加载网页、文件以及HTML。 首先,UIWebView作为iOS SDK中的一个视图控件,它的主要功能就是加载和显示网页数据。你可以通过两种方式创建一个UIWebView:一是通过Storyboard...