Есть способ! Использование политики безопасности содержимого , которая частично поддерживается в iOS 5.1 и более поздних версиях, и настраиваемый заголовок:
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];