簡體   English   中英

如何在iOS中的UIWebView中操作DOM

[英]How to manipulate DOM in UIWebView in iOS

我在我的應用程序中使用UIWebView。 當用戶在UIWebView中單擊網站中的鏈接時,我想調用objective-c函數。 有沒有辦法做到這一點? UIWebView是否允許更改它?

首先勾住它。 [yourwebview setDelegate:self]

使用以下委托方法

webView:shouldStartLoadWithRequest:navigationType

喜歡:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    NSURL *url = request.URL;
    NSString *urlString = url.absoluteString;
    //put your logic here, like 
    if (![url.scheme isEqual:@"yourscheme"]) {// or query contains or [url absolutestring] contains etc
        return NO;
    }
    return YES;
}

如果你想操縱DOM或調用UIWebView的任何功能,那么使用:

[yourwebView stringByEvaluatingJavaScriptFromString:@"alert('hello')"];
[yourwebView stringByEvaluatingJavaScriptFromString:@"$('#domid').hide();"];

正如其他答案中所述,您應該使用webview委托

webView:shouldStartLoadWithRequest:navigationType 

從WebView中走私某些數據的方法。 你可以在這里閱讀我對這個主題的詳細解答: 如何在uiwebview中使用javascript來獲取點擊的按鈕ID?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM