私の現在のURLを取得しようとUIWebView
しました:webview.request.URL
。残念ながらNSURL
空でした。ここで何か問題がありますか?Xcode 3.2.2ベータ5を使用しています。
上記のコードはUIWebView
デリゲートで実行する必要がありますdidStartLoad
。
私の現在のURLを取得しようとUIWebView
しました:webview.request.URL
。残念ながらNSURL
空でした。ここで何か問題がありますか?Xcode 3.2.2ベータ5を使用しています。
上記のコードはUIWebView
デリゲートで実行する必要がありますdidStartLoad
。
回答:
あなたはこれを試すことができます:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
JSを介したwindow.locationは確実に機能しませんでしたが、これは機能しました:
currentURL = currentWebView.request.URL.absoluteString;
クレジット:http : //mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
Mark Sands
これは、Webビュー内の別のリンクに移動するたびにURLを取得するために使用するコードです。
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
webView.request.URL.absoluteString
戻って働いていたnil
私も、上記の承認された回答が信頼できないことを発見しました。しかし、わずかな変更で、それは毎回うまくいくようです:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
「.href」がJavascriptに追加されていることに注意してください。これはコード行の最後に隠されているためです。
これは正しくなく、nilを返します。
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
ただし、以下のコードはURLを取得できますが、URLが現在のURLではない場合があります。
NSString *url = _webView.request.URL.absoluteString;
正しいものは次のとおりです。
NSString *currentURL = [_webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
iPhoneでグーグル検索結果のためにこれを試しました:
NSString* currentURL = webView.request.URL.absoluteString;
NSString* mainDocumentURL = webView.request.mainDocumentURL.absoluteString;
どちらも同じ文字列を返します!
shouldStartLoadWithRequest
イベント(UIWebViewDelegate)を使用して、URLの更新をキャッチします。request.mainDocumentURL.absoluteString
メインのWebページのURL(通常は必要なURL)を取得しますrequest.URL.absoluteString
が、CSSとJavaScriptが含まれます。
IN Swiftはこれを試してください、
func webViewDidFinishLoad(webView: UIWebView){
println(WebView.request?.mainDocumentURL)
}
WKWebViewおよびUIWebviewの現在のURLを取得するには
これがコードです。
if (self.wkWebView) {
NSString *URL = self.wkWebView.title;
}else if(self.uiWebView) {
NSString *URL = self.uiWebView.request.title;
}