如何在iOS中同时加载webview中的两个URL?
我正在webview中加载url。 我有两种类型的数据要显示 1) 文本(html字符串) 2) url 这是我的密码 显示文本 显示url 问题是当我加载这两个数据时,数据被覆盖。 我想在webview中显示这两个数据 但现在只显示文本或图像 解决方案是什么。我的演示如下:如何在iOS中同时加载webview中的两个URL?,ios,xcode,uiwebview,Ios,Xcode,Uiwebview,我正在webview中加载url。 我有两种类型的数据要显示 1) 文本(html字符串) 2) url 这是我的密码 显示文本 显示url 问题是当我加载这两个数据时,数据被覆盖。 我想在webview中显示这两个数据 但现在只显示文本或图像 解决方案是什么。我的演示如下: #导入“ViewController.h” @界面视图控制器() @属性(非原子,强)UIWebView*webView; @属性(非原子,复制)NSString*html_str; @结束 @实现视图控制器 -(无效)
#导入“ViewController.h”
@界面视图控制器()
@属性(非原子,强)UIWebView*webView;
@属性(非原子,复制)NSString*html_str;
@结束
@实现视图控制器
-(无效)viewDidLoad{
[超级视图下载];
[自我启动];
}
-(无效)初始{
_html_str=@“我爱谷歌…”;//您想要的html文本
CGRect frame=CGRectMake(0,0,[UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height);
_webView=[[UIWebView alloc]initWithFrame:frame];
_webView.delegate=self;
NSString*str=[NSString stringWithFormat:@]http://chsezhsan195030.e-fae.cn/"];
NSURL*websiteUrl=[NSURL URLWithString:str];
NSURLRequest*urlRequest=[nsurlRequestRequestWithURL:websiteUrl];
[self.webView loadRequest:urlRequest];
[self.view addSubview:self.webView];
}
#pragma标记-webview委托
-(无效)webViewDidFinishLoad:(UIWebView*)webView{
NSString*script_str=[NSString stringWithFormat:@“var body=document.getElementsByTagName('body')[0]\
var script=document.createElement('div')\
script.innerText='12345678%@\
script.style.width=window.innerWidth+'px'\
script.style.height='300px'\
script.style.backgroundColor='#eeeeee'\
body.appendChild(脚本)\
body.insertBefore(脚本,body.childNodes[0]);“,_html_str];
NSString*函数=[NSString stringWithFormat:@“var script=document.createElement('script')\
script.type='text/javascript'\
script.text=\'函数myFunction(){\
%@ };'\
document.getElementsByTagName('head')[0].appendChild(script);“,script_str];
[self.webView stringByEvaluatingJavaScriptFromString:function];
[self.webView stringByEvaluatingJavaScriptFromString:@“myFunction()”;
}
@结束
但您应该注意,大多数url都是为注入js代码而被阻止的,尤其是
https
url,因此您不能在google的索引页上方插入html文本。@GeneCode根据我在webview顶部文本和下面文本中的要求,我想显示url。@Krutath Patel,您的意思是使用一个web视图加载两个请求吗?@是exactly@Krutarth帕特尔,或者你的意思是使用一个webView
从不同的url加载两部分信息?@飞机对。一个webView。一个文本数据和其他url谢谢兄弟的回答。我会检查并告诉你我有一个问题。@Krutath Patel。请张贴它,如果我有时间我会帮助你,我想显示在didselectindex的tableview@Krutarth帕特尔,你是说推一个新的vc,在vc中显示webView?还是别的意思?
[self.webView loadHTMLString:[self.arr objectAtIndex:indexPath.row][@"text"] baseURL:nil];
NSString *str = [NSString stringWithFormat:@"%@%@",URL,strpdf];
NSURL *websiteUrl = [NSURL URLWithString:str];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
[self.webView loadRequest:urlRequest];
#import "ViewController.h"
@interface ViewController ()<UIWebViewDelegate>
@property(nonatomic, strong) UIWebView *webView;
@property (nonatomic, copy) NSString *html_str;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self initUI ];
}
- (void)initUI {
_html_str = @"I love google..."; // the html text you want
CGRect frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
_webView = [[UIWebView alloc] initWithFrame:frame];
_webView.delegate = self;
NSString *str = [NSString stringWithFormat:@"http://chsezhsan195030.e-fae.cn/"];
NSURL *websiteUrl = [NSURL URLWithString:str];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
[self.webView loadRequest:urlRequest];
[self.view addSubview:self.webView];
}
#pragma mark - webview delegate
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *script_str = [NSString stringWithFormat:@"var body = document.getElementsByTagName('body')[0];\
var script = document.createElement('div');\
script.innerText = '12345678'%@;\
script.style.width = window.innerWidth + 'px';\
script.style.height = '300px';\
script.style.backgroundColor = '#eeeeee';\
body.appendChild(script); \
body.insertBefore(script, body.childNodes[0]);",_html_str];
NSString *function = [NSString stringWithFormat: @"var script = document.createElement('script');\
script.type = 'text/javascript';\
script.text = \'function myFunction() { \
%@ };'\
document.getElementsByTagName('head')[0].appendChild(script);", script_str];
[self.webView stringByEvaluatingJavaScriptFromString:function];
[self.webView stringByEvaluatingJavaScriptFromString:@"myFunction()"];
}
@end