我正在使用UIWebView
加載作爲文章的網頁。一旦我按下按鈕,我就創建了一個結構體,其中url
,title
和image
。要訪問標題,我需要訪問網頁的源代碼,並從每個文章具有相同類ID(class =「c-page-title」)的h1 header
中獲取標題。有誰知道如何使用stringByEvaluatingJavaScript
或evaluateJavaScript
函數從h1 header
獲取文本?使用JavaScript和UIWebView通過ID檢索元素SWIFT
下面是我的一些代碼,以供參考:
結構:
struct Article {
var url: URL
var img: URL
var title: String
init(url: URL, img: URL, title: String) {
self.url = url
self.img = img
self.title = title
}
}
功能,填補了文章結構:
@IBAction func bookmarkArt(_ sender: Any) {
let articleInst = Article(url: (mainWebView.request?.url)!, img: (mainWebView.request?.url)!, title: "Article Here")
bookmarks.append(articleInst)
print("array: \(bookmarks)")
let alertController = UIAlertController(title: "Bookmark added!", message: "This article was just added to your bookmarks.", preferredStyle: UIAlertControllerStyle.alert)
// Replace UIAlertActionStyle.Default by UIAlertActionStyle.default
let okAction = UIAlertAction(title: "Awesome, thanks!", style: UIAlertActionStyle.default) {
(result : UIAlertAction) -> Void in
print("OK")
}
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)
}
任何幫助將非常感謝!非常感謝提前。
乾杯, 西奧
非常感謝!我會實現這一點,看看它是如何工作的。不幸的是,我從中獲取文本的網站不是我的,所以我無法編輯這些標籤。 –
也可以,我只是做articleInst.title = webView.stringByEvaluatingJavaScript(「document.getElementsByClassName(\」c-page-title \「)[0] .innerHtml;」)或者我必須先定義函數? –
'stringByEvaluatingJavaScript()'是UIWebView obj的一部分,所以你可以直接使用^ ....只是我沒有真正測試它的代碼,它是一種僞代碼,所以讓我知道如果你有任何其他問題:) –