【问题标题】:Using JavaScript with UIWebView- Swift 3.0将 JavaScript 与 UIWebView 结合使用 - Swift 3.0
【发布时间】:2017-04-21 00:53:32
【问题描述】:

我正在使用UIWebView 来显示一个网站。当用户按下按钮时,会创建一个struct,它接收 URL、标题和图像。

标题我用let titleFromJS = mainWebView.stringByEvaluatingJavaScript(from: "document.querySelector(\".c-page-title\").textContent;")!

但是,对于图像,它更难。图像链接包含在 <source srcset> 中,并且包含在 <picture> 容器中。我想通过 c-picture 的类 id 找到它,但我不知道如何获取源容器的内容。

谁能帮帮我?任何帮助将不胜感激!提前非常感谢!

干杯, 西奥

【问题讨论】:

    标签: javascript ios swift xcode uiwebview


    【解决方案1】:

    尽量避免从您的第一个 JS 语句中强制解包结果,否则如果该元素不存在,您的应用将崩溃。如果mainWebView.stringByEvaluatingJavaScript 的结果是nil,则返回的保护语句可能是更好的选择。

    guard let titleFromJS = mainWebView.stringByEvaluatingJavaScript(from: "document.querySelector(\".c-page-title\").textContent;") else {
        return
    }
    

    要访问图片的来源,可以从picture元素内的img元素获取:document.querySelector('.c-picture > img')]0].currentSrc

    【讨论】:

    • 感谢您的提示,但您的回答似乎不起作用。当我检查元素时,我附上了 html 源代码的图像。这有帮助吗?
    • 让我知道它现在是否有效。我将#c-picture 更改为.c-picture
    猜你喜欢
    • 2020-07-18
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多