通常,當你點擊網頁瀏覽器上的「使用Facebook註冊」按鈕時,會彈出一個新選項卡。但是,當您嘗試在WebView
上執行同樣的操作時,它不會執行任何操作,而是停留在同一網站上。我如何強制WebView
顯示對話框?如何強制WebView顯示FB授權對話框?可可
0
A
回答
0
在您的代表中執行-webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:
。如果您還沒有,您可能還需要實現至少一些WebUIDelegate協議方法。
參考:WebPolicyDelegate Protocol Reference,WebUIDelegate Protocol Reference
0
這是你可能尋找。把它放在你的AppDelegate.m裏面,那麼所有的外部鏈接將在默認瀏覽器中打開:
// Habilita links externos abrirem no navegador padrão
- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request
{
// HACK: This is all a hack to get around a bug/misfeature in Tiger's WebKit
// (should be fixed in Leopard). On Javascript window.open, Tiger sends a null
// request here, then sends a loadRequest: to the new WebView, which will
// include a decidePolicyForNavigation (which is where we'll open our
// external window). In Leopard, we should be getting the request here from
// the start, and we should just be able to create a new window.
WebView *newWebView = [[WebView alloc] init];
//[newWebView setUIDelegate:self];
[newWebView setPolicyDelegate:self];
return newWebView;
}
- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener {
if([sender isEqual:myWebView]) {
[listener use];
}
else {
[[NSWorkspace sharedWorkspace] openURL:[actionInformation objectForKey:WebActionOriginalURLKey]];
[listener ignore];
//[sender release];
}
}
- (void)webView:(WebView *)sender decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id<WebPolicyDecisionListener>)listener {
[[NSWorkspace sharedWorkspace] openURL:[actionInformation objectForKey:WebActionOriginalURLKey]];
[listener ignore];
}
// -
(SIM,歐盟SOU BR!)
相關問題
- 1. 可可的WebView顯示權限對話框JS navigator.geolocation.getCurrentLocation()
- 2. 授權許可Facebook瀏覽器授權對話框
- 3. Google Play服務 - 強制顯示許可窗口(授權訪問)
- 4. 更改授權對話框
- 5. 沒有授權對話框
- 6. 如何使用新的Graph API在FB中顯示擴展權限對話框?
- 7. 如何在不顯示授權對話框的情況下授權Facebook應用程序的基本權限
- 8. 請求授予權限時,不會顯示requestpermission對話框
- 9. 續訂密碼證書顯示鑰匙串授權對話框
- 10. Android的USB調試不顯示授權對話框
- 11. ASP.NET授權,顯示瀏覽器登錄對話框
- 12. 在webview上顯示進度對話框
- 13. 如何在用戶進入應用程序後顯示授權對話框?
- 14. iOS 11 UIImagePickerController不顯示隱私警報 - 如何強制顯示權限對話框?
- 15. 我們可以直接顯示Facebook權限對話框(我的應用程序已經授權)
- 16. 如何顯示對話框
- 17. 如何使DRF django強制授權?
- 18. Facebook的Android SDK 3.0授權對話框不顯示請求的權限
- 19. 如何強制前面的對話框?
- 20. Android 6.0權限對話框不顯示
- 21. C++顯示OSX權限對話框
- 22. 如何在Webview中顯示android alert對話框?
- 23. 如何在android中的自定義對話框中顯示webview?
- 24. android如何顯示沒有webview的foursqure登錄對話框?
- 25. 自定義Facebook授權對話框?
- 26. 授權和jQuery對話框問題
- 27. Facebook的授權對話框風格
- 28. 授權屬性和模態對話框
- 29. 隱私政策授權對話框?
- 30. 隱藏Facebook的授權對話框iPhone
這WebUIDelegate方法我需要使用來顯示FB授權對話框在WebView上? –