uiwebview 忽略样式标签

Posted

技术标签:

【中文标题】uiwebview 忽略样式标签【英文标题】:style tag is ignored by uiwebview 【发布时间】:2019-06-12 09:48:12 【问题描述】:

我正在尝试为我的 html 提供 css 内联样式。但是这种风格会被忽略。

这是我用于 webView.loadHTMLString(htmlBelow, baseURL: Bundle.main.bundleURL) 的 HTML 字符串

let fontsize = 16 //这是一个动态变量

<!DOCTYPE html>
<html lang=\"en\">
    <head>
        <meta charset=\"UTF-8\">
        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
        <meta http-equiv=\"X-UA-Compatible\"content=\"ie=edge\">
        <title>Document</title>
        <style>
            ​html 
                font-size:\(fontsize)px; */THIS DOESN'T WORK/*
            
        </style>
        <link rel=\"stylesheet\" href=\"\style.css\">
        <script src=\"jquery-3.4.1.min.js\"></script>
        <script src=\"script.js\"></script>
    </head>
    <body>
        <div class=\ "sqr-tree-level\"> \(restOfHtml) </div>
    </body>
</html>

我正在尝试动态设置字体大小。 当我在我的 css 文件中更改字体大小时,它可以工作,但我想动态设置它。这就是为什么我想这样做。

This is how my document.head.innerHTML looks like

【问题讨论】:

你是如何构建这个 html 数据的? - 现在这看起来不会编译? 我这样做是这样的: let fullHtml = " Document (restOfHtml) " 除了 的部分之外,它完全可以工作 生成的 html 是什么样的? - fontsize 变量注入是否正确? 是的,它被正确注入了,它看起来像这样: 你在你的样式表中删除了任何覆盖font-size css? 【参考方案1】:

为了将来参考,这里的修复是将样式放入 &lt;body&gt; 标记而不是头部 &lt;style&gt; 标记中。

&lt;body style=\"font-size:\(fontsize)px;\"&gt;

【讨论】:

以上是关于uiwebview 忽略样式标签的主要内容,如果未能解决你的问题,请参考以下文章

检测 UIWebView 上的触摸,但忽略滑动或触摸交互式元素(链接或点击)

UIWebView 段落选择样式

禁用 UIWebView 和/或 WKWebView 中样式表的加载

使用 UIWebView 和标签滚动视图

使用 UIWebView 创建样式文本(视网膜屏幕上模糊)

UIWebView 中的 HTML 表格宽度