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

时间:2018-02-16 22:35:14

标签: javascript ios objective-c webview uiwebview

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

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

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

谢谢

1 个答案:

答案 0 :(得分:2)

如果您要为iOS 10.0构建,则应使用WKWebView。它支持禁用javascript,也是推荐使用的组件。

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

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