0
打开window.open方法我是新来的iOS开发如何在IOS Objective C的Safari浏览器使用的WebView
我开发一个应用程序在UIWebView
打开网址,但该网站工作正常,在safari
网页浏览器,但当我录制链接编码为window.open()
时,它将加载相同的webview
。这里是我的代码
ViewController.h文件
//
// ViewController.m
//
//
// Created by Code Kadiya on 5/18/17.
// Copyright © 2017 Code Kadiya. All rights reserved.
//
#import "ViewController.h"
@interface ViewController() <UIWebViewDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.webView setDelegate:self];
// Do any additional setup after loading the view, typically from a nib.
NSURL *websiteUrl = [NSURL URLWithString:@"http://some.url"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:websiteUrl cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:15.0];
[_webView loadRequest:request];
}
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest: (NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *url = [request URL];
[[UIApplication sharedApplication] openURL: url options:@{} completionHandler:nil];
return NO;
}
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
,我发现加载Web应用程序的源代码,这
<a onclick="open_pdf('office')" target="_blank">
function open_pdf(type) {
window.open("http://some.url?type=" + type);
}
无论如何我需要打开Safari浏览器,当我点击该链接,但我无法更改网络应用源代码
我认为
[[UIApplication sharedApplication] openURL: url options:@{} completionHandler:nil];
该类型的链接
希望这有助于:https://stackoverflow.com/a/2899793/775896 – Mrunal
@code卡地亚添加一个破发点中'如果(navigationType == UIWebViewNavigationTypeLinkClicked){}'条件,看它是否被执行或不 – Maddy
@Maddy Nope buddy它不执行,因为有'UIWebViewNavigationTypeOther'类型,但我无法通过'UIWebViewNavigationTypeLinkClicked'处理'window.open()' –