如何在iOS Objective-C中禁用WKWebview上的双击和收缩放大/缩小功能?
我面临在WKWebView上禁用放大/缩小的问题。我有很多解决方案,但并非所有的解决方案在所有情况下都有效 解决方案1:如何在iOS Objective-C中禁用WKWebview上的双击和收缩放大/缩小功能?,ios,objective-c,swift,uiwebview,wkwebview,Ios,Objective C,Swift,Uiwebview,Wkwebview,我面临在WKWebView上禁用放大/缩小的问题。我有很多解决方案,但并非所有的解决方案在所有情况下都有效 解决方案1: self.webViewer.scrollView.pinchgestureerecognizer.enabled=true/false 问题: 无法停止双击缩放 解决方案2: - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return nil; } 问题: 不在iOS 13上
self.webViewer.scrollView.pinchgestureerecognizer.enabled=true/false
问题:
无法停止双击缩放
解决方案2:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}
问题:
不在iOS 13上工作
解决方案3:通过设置java脚本
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'); document.getElementsByTagName('head')[0].appendChild(meta);";
第三种解决方案是最好的比较所有其他的,它也工作在几乎所有情况下良好
但在我的例子中,我有.pdf扩展名url,对于该url,javascript不能正常工作。我无法禁用该url的放大/缩小功能
网址:
当我使用下面的代码评估JavaScript时
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name',
'viewport'); meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-
scale=1.0, user-scalable=no'); document.getElementsByTagName('head')[0].appendChild(meta);";
[webView evaluateJavaScript:jScript completionHandler:^(NSString *result, NSError *error)
{
NSLog(@"Error %@",error);
NSLog(@"Result %@",result);
}];
我犯了以下错误
Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: undefined is not an object (evaluating 'document.getElementsByTagName('head')[0].appendChild'), WKJavaScriptExceptionColumnNumber=228, WKJavaScriptExceptionSourceURL=http://www.pdf995.com/samples/pdf.pdf, NSLocalizedDescription=A JavaScript exception occurred}
所以我想解决javascript错误
请帮帮我