UIWebView
iOS 10.x Simulator
上加载一个网页,效果很好。 现在我正在尝试在WKWebView
中加载相同的网页 -
@interface ViewController2 ()
@property(strong,nonatomic) WKWebView *webView;
@property (strong, nonatomic) NSString *productURL;
@end
@implementation ViewController2
- (void)viewDidLoad
{
[super viewDidLoad];
self.productURL = @"http://192.168.1.157/rockwellApp_v2/?city=719";
NSURL *url = [NSURL URLWithString:self.productURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
_webView = [[WKWebView alloc] initWithFrame:self.view.frame];
[_webView loadRequest:request];
_webView.frame = CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:_webView];
}
@end
但无法加载完整的网页
当我在WebKit Nightly中调试WKWebView时,它在控制台中给出了错误,如SecurityError (DOM Exception 18): The operation is insecure.
答案 0 :(得分:1)
使用无效或不安全的参数调用window.history.pushState()
会触发异常:SecurityError (DOM Exception 18): The operation is insecure.
您加载的页面中的脚本很可能会尝试推送一些使用硬编码域或方案的历史记录(例如http://example.com
),这与您当前的域http://192.168.1.157
不匹配。
未捕获的异常将阻止脚本的其余部分进行评估。这就是为什么它没有完全加载/渲染。
要调试此问题,请在Web检查器中添加异常断点,然后使用Web调试器作为所选窗口按cmd
+ r
来刷新页面。