我可以在 UIWebView 中禁用 JS 吗? (Objective C)

Can I disable JS in a UIWebView? (Objective C)

我正在使用 Xcode 8 为 iOS 编写一个简单的 RSS reader,并为 iOS 10.0 构建。

我允许用户保存网页以供离线阅读;然而,当没有互联网连接时,本地 HTML 文件需要很长时间才能加载,因为我正在加载它们的 UIWebView 会尝试解析图像等外部资产(或者至少,这就是我认为它正在做的事情) ).我认为在没有互联网连接时禁用 JS 可以解决这个问题,但我不知道该怎么做,而且我还没有找到太多关于此事的信息。

tl,dr: 有没有办法在 UIWebView 中禁用 javascript?

谢谢

如果您正在为 iOS 10.0 构建,您应该改用 WKWebView。支持禁用javascript,也是推荐使用的组件

首先创建首选项对象。您需要在创建网络视图之前进行设置。

WKPreferences *preferences = [[WKPreferences alloc] init];
preferences.javaScriptEnabled = NO; // Here its set

// Other things you might want to disable
preferences.javaScriptCanOpenWindowsAutomatically = NO;

然后创建保存首选项的配置对象。

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.preferences = preferences;

然后创建您的网络视图。

WKWebView *webView = [[WKWebView alloc] initWithFrame:frame configuration:configuration];

Read more about WKWebView here