2

次のコードを使用して、UIWebview の現在の URL を取得できることを理解しています。

 NSString *urlString = [[[webView request] URL] absoluteString];

ただし、これは実際にロードした webView に対してのみ機能することがわかりました。

私のアプリケーションのある時点で、私はこれを行っています: [webView goBack] これは、webView の前のページを表示します。ただし、上記の行を呼び出して URL を取得しても、表示される実際のページは反映されません。

これを達成する方法はありますか?

ありがとうございました!

4

2 に答える 2

7

ページが完全に読み込まれた時点で URL を取得するのが安全な方法かもしれません。

- (void)webViewDidFinishLoad:(UIWebView *)webView {

  NSURLRequest *currentRequest = [webView request];
  NSURL *currentURL = [currentRequest URL];
  NSLog(@"Current URL is %@", currentURL.absoluteString);

}

これはあなたのために働きますか?

于 2012-07-09T08:53:20.460 に答える
1

デリゲート機能を実装する

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

すべてのページが webview でロードを開始する前に (goback も)、上記の関数で呼び出しが行われ、requestURL を指定したオブジェクトがロードされます。

: YESwebview にページの読み込みを許可する場合は return してくださいNO

これが問題の解決に役立つことを願っています。

于 2012-07-09T09:14:38.290 に答える