javascript - WKWebview如何设置比例尺?

标签 javascript html swift cocoa wkwebview

我正在尝试修改 WKWebView 中页面加载的比例。据我在 html 中查看,它正在工作。但 WKWebview 中的实际比例不会改变。

这是我注入(inject)脚本的方式:

let script =
       "var viewport = document.querySelector(\"meta[name=viewport]\");" +
       "viewport.setAttribute('content', 'width=device-width, initial-scale=0.4, user-scalable=0');" +

let userScript = WKUserScript(source: script,
                                      injectionTime: WKUserScriptInjectionTime.atDocumentEnd,
                                      forMainFrameOnly: true)
userContentController.addUserScript(userScript)

打印 html:

webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML", completionHandler: { (innerHTML, error) in
            print(innerHTML)
        })

控制台中的 HTML 结果:

Optional(<!--<![endif]--><head>
        <title>Bitcoin (BTC)  $2391.84 (1.85%) | CoinMarketCap</title>

        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=0.4, user-scalable=0">        
        <meta name="google-site-verification" content="EDc1reqlQ-zAgeRrrgAxRXNK-Zs9JgpE9a0wdaoSO9A">
        <meta property="og:type" content="website">

我问自己这是否是正确的方法。我也试过:let script = document.body.style.zoom = '0.8';let script = document.body.style.webkitTransform = 'scale(0.8)'; 两者都在比例方面起作用,但使用这种方法,this 中的时间段 slider highchart 失去了它的功能。任何一种新想法都将不胜感激。

最佳答案

添加<meta name="viewport" content="width=device-width, shrink-to-fit=YES">到您的 HTML 文件。

(我在之后添加了但不确定你是否可以在任何地方添加它)

在我的例子中,我的 Xcode 项目中有用于保护隐私的 html 文件。我在 的正下方添加了 javascript 代码,它对我有用。

它的工作方式就好像你使用了 scalePageToFit在 UIWebView 中。

希望对您有所帮助。

关于javascript - WKWebview如何设置比例尺?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069193/

相关文章:

javascript - 动态删除对象属性 JavaScript

javascript - 如何在不返回 false 的情况下修复 div 中的返回 Ajax

ios - 将手势识别器添加到屏幕外的元素

javascript - 无法减少数组中相关的 JavaScript 对象

javascript - 仅在函数未被调用时调用函数/仅运行函数一次

javascript - Grunt-Contrib-Copy,如何在不覆盖目标文件夹中现有文件/文件夹的情况下复制保持相同文件夹结构的目录内容?

javascript - Recaptcha 按钮丑陋,无法修复

Javascript 表单提交验证优于验证

ios - 如何使用 UIWebView 在 Safari 中打开除某些链接之外的所有链接?

ios - 使用多个定界符快速拆分字符串