有一種方法!使用正在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