有一种方法!使用正在iOS的5.1及以上部分支持Content Security Policy和自定义标题:
X-WebKit-CSP: script-src none;
你可以告诉UIWebKit不允许JavaScript的网页上完全。 (或选择性地只允许来自特定域的脚本,更多信息请参考spec
要从您控制的服务器执行此操作,您必须修改页面的响应标题以包含X-WebKit-CSP
:头......要从本地(器件纯文本或HTML数据),你必须加载你的页面定义和注册自定义NSURLProtocol,并在您制作的NSHTTPURLResponse发送标题的页面做
NSDictionary *headers = [NSDictionary dictionaryWithObjectsAndKeys:
@"script-src none",@"X-WebKit-CSP",
@"text/html",@"Content-type",
encoding,@"Content-encoding",
nil];
NSHTTPURLResponse *urlResponse = [[NSHTTPURLResponse alloc] initWithURL:self.request.URL
statusCode:200
HTTPVersion:@"1.1"
headerFields:headers];
[self.client URLProtocol:self didReceiveResponse:urlResponse cacheStoragePolicy:NSURLCacheStorageAllowedInMemoryOnly];
对于iOS 8及以上(每删除评论):“有一种方法,如果你使用的是新WKWebView而非UIWebView的做到这一点这是在这里找到答案http://stackoverflow.com/a/34404676/1239426。 “ – BadPirate 2016-08-08 21:12:31