0
我正在嘗試從WebView控件(Cocoa應用程序)中的遠程服務器加載的網頁內導航。我想導航到一個特定的標籤,我可以在該頁面的HTML代碼中看到。這一切的目的是顯示我感興趣的Web頁面頂部的HTML頁面部分。在WebView控件的網頁內導航
我知道,在HTML代碼中,您可以使用類似#MIDDLE,#TOP等的內容進行導航。但是,是否可以使用WebView API從HTML代碼之外進行導航?
感謝您的提前回復!
我正在嘗試從WebView控件(Cocoa應用程序)中的遠程服務器加載的網頁內導航。我想導航到一個特定的標籤,我可以在該頁面的HTML代碼中看到。這一切的目的是顯示我感興趣的Web頁面頂部的HTML頁面部分。在WebView控件的網頁內導航
我知道,在HTML代碼中,您可以使用類似#MIDDLE,#TOP等的內容進行導航。但是,是否可以使用WebView API從HTML代碼之外進行導航?
感謝您的提前回復!
我在其他問題的幫助下找到了我的問題的答案(How to scroll HTML page to given anchor using jQuery or Javascript?)。
下面的一段代碼對我來說是訣竅。它在加載到WebView組件self.webView中的HTML數據中搜索具有attribute:class =「container」的HTML元素。
-(void) scrollMyImportantHTMLPartInView
{
// Get a list of HTML elements that contain attribute class = "container" (eg. <div class "container">)
DOMNodeList *nodeList = [[[self.webView mainFrame] DOMDocument] getElementsByClassName: @"container"];
if(nodeList && nodeList.length >= 1) {
// get the first node (class = "container") from the list
DOMNode *domNode = [nodeList item:0];
// Make sure it's a DOM element type
if(domNode.nodeType == DOM_ELEMENT_NODE) {
// It's now save to cast from DOMNode* to DOMElement*
DOMElement* domElement = (DOMElement*) domNode;
// Scroll begining of HTML node into view
[domElement scrollIntoView: YES];
}
}
}