簡體   English   中英

如何從webview中捕獲自定義URL方案?

[英]How to trap custom URL scheme from a webview?

在我的應用程序中,我有一個webview,它加載一個包含普通鏈接和自定義URL方案的頁面,例如myapp:// id = 1234。

現在,我試圖在此函數中捕獲請求:

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

    NSLog(@"NSURLRequest = %@", [[request URL] absoluteString]);

}

打印出上面的網址給了我這個:

http://localhost:8888/myapp://id=1234

這是我在MAMP上的本地主機設置,其中自定義URL附加到URL。

我曾希望我可以直接使用[請求方案],但現在在這種情況下,它只返回“http”。 有沒有辦法可以在我自己的應用程序中處理自定義URL方案?

此時,我希望能夠做到以下幾點:

  1. 用戶在webview上
  2. 用戶點擊自定義網址鏈接(myapp:// id = 1234)
  3. 我的應用處理自定義網址並將用戶引導至其他網頁( http://www.someotherpage.com/?id=1234

謝謝!

當一個URL跟冒號后面有一個雙斜杠時,就像你的一樣,下一部分應該看起來像userinfo@hostname:portuserinfo@:port都可以省略)。 由於id=1234看起來不像主機名,因此URL解析器無法將您的URL識別為絕對URL。 因此,URL解析器將其視為相對URL。

嘗試將您的網址語法更改為myapp:id=1234myapp:///id=1234

我猜你應該聲明你的應用程序處理的任何自定義URL方案。

檢查參考

暫無
暫無

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

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