Swift WKWebview---解决的常见问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift WKWebview---解决的常见问题相关的知识,希望对你有一定的参考价值。

参考技术A WKWebview--透明背景,自适应高度,禁用长按选择和缩放:

// WebView didFinish loading

func webView(_webView:WKWebView, didFinish navigation:WKNavigation!)

1. 自适应高度:

        webView.evaluateJavaScript("document.body.scrollHeight") [weakself] result,_in

            if let tempHeight:Double= resultas?Double

                self?.maximumHeightConstraint.constant=CGFloat(tempHeight)

           

        

2. 禁用缩放功能:

        let jsForbiddenZooming = "var script = document.createElement('meta');script.name = 'viewport';script.content='width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no';document.getElementsByTagName('head')[0].appendChild(script);"

        webView.evaluateJavaScript(jsForbiddenZooming, completionHandler:nil)

3. 禁用长按选择和复制功能:

        webView.evaluateJavaScript("document.documentElement.style.webkitTouchCallout='none';", completionHandler: nil)

        webView.evaluateJavaScript("document.documentElement.style.webkitUserSelect='none';", completionHandler: nil)

   

########################

// viewDidLoad()

override func viewDidLoad()

        super.viewDidLoad()

1. 透明背景

        webView.isOpaque = false

        webView.backgroundColor = .clear

        webView.scrollView.backgroundColor = .clear

2. 解决 webview内容下移的问题:

        if #available(iOS 11.0, *)

            webView.scrollView.contentInsetAdjustmentBehavior = .never

        else

            self.automaticallyAdjustsScrollViewInsets = false

       

   

以上是关于Swift WKWebview---解决的常见问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift WKWebView 维护用户会话 Cookie

自动填充用户名和密码 WKWebview Swift 3 Xcode

WKWebView:表单未在 WKWebView (Swift) 中提交

如何将 swift 对象传递给 javascript (WKWebView / swift)

使用 Swift 4 滚动 WKWebview

Swift:WKWebView 中 UIRefreshControl 的自定义操作