例如:facebook應用程序基本上只是一個使用html5的webview,那麼當您嘗試在某人的牆上寫東西時,它如何鏈接到默認消息編輯器之類的東西?我知道應用程序的一部分可能使用Three20。那麼他們只是使用他們的應用程序url鏈接到應用程序的那部分? (例如fb:// profile/122605446)。有沒有辦法通過webview創建一個鏈接來打開你的應用程序的一部分?
回答
是的,你可以使用UIWebView
委託方法webView:shouldStartLoadWithRequest:navigationType:
方法做到這一點。您將需要使用自定義URL方案來觸發您的自定義代碼,否則就讓它正常通過。所以在你的例子中fb
是自定義方案。使用該URL的其餘部分導航到配置文件屏幕爲用戶122605446.
下面是一些示例代碼,以幫助:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = request.URL;
NSString *scheme = [url scheme];
if ([scheme isEqualToString:@"fb"]) {
//Do something with the rest of the url and take any action you like.
}
else {
return YES;
}
}
您可以在應用程序中簡單地註冊一些url類型(或者只是一個,fb://)。
然後,根據您收到的URL解析url並打開應用程序的不同部分。
請參閱http://mobiledevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html以獲得良好的概述和教程。
(這並不重要,在應用程序的意見都寫在HTML5在這種情況下)。
是的,你能做到這一點。看看UIWebViewDelegate Protocol Reference,具體是webView:shouldStartLoadWithRequest:navigationType:
NSURLRequest
會讓你知道什麼時候點擊鏈接。您可以在鏈接&中擁有特定的參數,具體取決於您可以自定義處理在iOS應用中打開哪些視圖的參數。或者如果您想阻止請求加載,則只需在此方法上返回NO
。
UIWebViewDelegate有一個名爲webView:shouldStartLoadingRequest:navigationType
的方法。您可以使用此方法來攔截某些鏈接,按鈕點擊等。您也可以創建您自己的鏈接:
<a href="myApp://dosomething">Click!</a>
委託方法的第二個參數現在有一個NSURLRequest,其URL爲「myApp: //做一點事」。
- 1. 創建一個鏈接,你的應用程序通過其他應用推出
- 2. 有沒有辦法選擇一個程序來打開一個壓縮文件?
- 3. 有沒有辦法爲一個頁面創建一個FB應用程序?
- 4. 有沒有辦法在本地打開Dropbox鏈接(Mac應用程序)?
- 5. 打開thorugh我的應用程序的YouTube鏈接沒有的WebView
- 6. 有沒有辦法開發一個繪製屏幕一部分的應用程序,以阻止幻影/幻影?
- 7. 有沒有辦法創建一個分組的命名範圍?
- 8. 有沒有辦法創建一個支持接口的DynamicObject?
- 9. 有沒有辦法通過Xcode將iOS應用程序交給一個人?
- 10. PHP鏈接只有通過一個MySQL結果的一部分
- 11. 有沒有辦法在Mercurial中創建外部鏈接
- 12. 如何創建一個mailto:鏈接,但沒有(to)部分
- 13. 有沒有辦法打開應用程序,如果安裝它的鏈接,或者網站,如果沒有?
- 14. 有沒有辦法用參數創建一個符號鏈接? (linux)
- 15. 有沒有辦法打開SublimeText 2從其他應用程序
- 16. 有沒有辦法通過一個Shopify API調用創建多個產品?
- 17. 有沒有辦法創建一個ipad應用程序,以避免完全的應用程序商店
- 18. 有沒有辦法創建一個沒有JS的消息框?
- 19. 有沒有辦法通過openURL從另一個應用程序開始環聊:在Google+ Google+應用上使用?
- 20. 有沒有來電時打開iPhone應用程序的方法?
- 21. 有沒有辦法在移動網站(iPhone)上打開YoutTube鏈接而無需打開YouTube應用程序
- 22. 有沒有辦法在issuu的期刊中打開鏈接?
- 23. 有沒有辦法通過JavaScript來設定一個PHP變量
- 24. 有沒有辦法通過替換另一個應用程序來處理iphone應用內購買?
- 25. 有沒有辦法一個接一個檢查程序的流程?
- 26. 如何創建一個鏈接,將在應用程序頁面頂部打開應用程序和Web視圖?
- 27. 有沒有辦法直接在C#中給出一個應用程序部分的插件控件?
- 28. 有沒有辦法啓動一個Express應用程序?
- 29. Jenkins有沒有辦法在另一個Jenkins中創建符號鏈接?
- 30. 有沒有辦法在gem內創建rails應用程序?