Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript与UIWebView结合使用-Swift 3.0_Javascript_Ios_Swift_Xcode_Uiwebview - Fatal编程技术网

将JavaScript与UIWebView结合使用-Swift 3.0

将JavaScript与UIWebView结合使用-Swift 3.0,javascript,ios,swift,xcode,uiwebview,Javascript,Ios,Swift,Xcode,Uiwebview,我正在使用UIWebView显示网站。当用户按下按钮时,将创建一个包含URL、标题和图像的结构 对于标题,我使用let titleFromJS=mainWebView.stringByEvaluatingJavaScript(来自:“document.querySelector(\”.c-page-title\”).textContent;”) 但是,对于图像来说,这更难。图像链接被包装在容器中,该链接被包装在容器中。我想通过class id找到它,class id是c-picture,但我不知

我正在使用
UIWebView
显示网站。当用户按下按钮时,将创建一个包含URL、标题和图像的结构

对于标题,我使用
let titleFromJS=mainWebView.stringByEvaluatingJavaScript(来自:“document.querySelector(\”.c-page-title\”).textContent;”)

但是,对于图像来说,这更难。图像链接被包装在
容器中,该链接被包装在
容器中。我想通过class id找到它,class id是
c-picture
,但我不知道如何获取源容器的内容

有人能帮我吗?任何帮助都将不胜感激!!非常感谢

干杯, 提奥

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

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