我可以在 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];
我正在使用 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];