我正在制作一个类,它将作为脚本加载的一个门面。此类将与加载了磁盘上的 HTML 和 JS 文件的无头 UIWebView 进行交互。
我目前正在单元测试环境中执行所有操作,看起来 UIWebView 拒绝加载任何内容。这是我的代码的样子:
WebView 初始化
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,0,0)];
self.webView.delegate = self;
[self loadScriptingCore];
脚本加载器:
- (void)loadScriptingCore
{
NSURLRequest *loadRequest = [NSURLRequest requestWithURL:[self scriptingCoreIndex]];
[self.webView loadRequest:loadRequest];
NSLog([self inspectDom]);
}
- (NSURL *) scriptingCoreIndex
{
NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"scripting-core" ofType:@"html" inDirectory:@"www"];
NSLog([NSString stringWithFormat:@"Scripting Core Index: %@", indexPath]);
return [NSURL fileURLWithPath:indexPath];
}
- (NSString *)inspectDom
{
return [self.webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML;"];
}
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Scripting Core</title>
</head>
<body>
<div id="element">
Hello
</div>
</body>
</html>
inspectDom 方法只返回
<html><head></head><body></body></html>
Thich 向我表明,webView 没有发生任何事情。此外,委托方法似乎不会触发 webViewDidStartLoad、webViewDidFinishLoad 和 webViewDidFailLoad。
任何建议,将不胜感激
谢谢!