WKWebView打开弹出式facebook验证窗口,但不登录Xamarin IOS
我正在用Xamarin制作一个跨平台的混合应用程序,基本上是用IOS拯救一个网站。问题是,在这个网站中有一个“使用Facebook登录”部分,这是一个API,而不是JavaScript的“window.open”方法。 我想知道我这样做是否正确,因为我尝试过不同的方法,但没有一种对我有效。我已尝试实施以下内容:WKWebView打开弹出式facebook验证窗口,但不登录Xamarin IOS,ios,xamarin,webview,wkwebview,custom-renderer,Ios,Xamarin,Webview,Wkwebview,Custom Renderer,我正在用Xamarin制作一个跨平台的混合应用程序,基本上是用IOS拯救一个网站。问题是,在这个网站中有一个“使用Facebook登录”部分,这是一个API,而不是JavaScript的“window.open”方法。 我想知道我这样做是否正确,因为我尝试过不同的方法,但没有一种对我有效。我已尝试实施以下内容: 带有CreateWebView()函数和类的WKWebViewRenderer(实际代码) 带有DecidePolicy()函数和类的WebViewRenderer 启用JavaScr
- 带有CreateWebView()函数和类的WKWebViewRenderer(实际代码)
- 带有DecidePolicy()函数和类的WebViewRenderer
- 启用JavaScriptEnable和JavaScriptCanOpenWindow的基本WebView
- 它们之间的组合 提前非常感谢,我离开我的CustomWebView
using Foundation;
using MobileApp.iOS.Name;
using MobileApp.Models;
using System;
using UIKit;
using WebKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CustomWebViewIOS), typeof(CustomWebViewRenderer))]
namespace MobileApp.iOS.Name
{
public class CustomWebViewRenderer : WkWebViewRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
WKWebView wKWebView = this;
WKPreferences pref = new WKPreferences() { JavaScriptCanOpenWindowsAutomatically = true, JavaScriptEnabled = true, };
var config = new WKWebViewConfiguration();
config.Preferences = pref;
if (NativeView != null)
{
((WKWebView)NativeView).UIDelegate = new MyWKUIDelegate();
}
}
}
public class MyWKUIDelegate : WKUIDelegate
{
public override WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures)
{
var url = navigationAction.Request.Url;
if (navigationAction.TargetFrame == null)
{
webView.LoadRequest(navigationAction.Request);
}
return null;
}
}
}
您好,这是否是一个弹出式登录窗口,运行共享代码的结果是什么?我输入用户名和密码,它会询问我是否想继续使用x名称,弹出窗口关闭,让我准确地将其发送到呼叫的位置,并且没有登录。。。如果我接受Facebook上的自大狂,下次我想登录时,它什么也不做,只是屏幕变白1秒钟,然后在一切开始时恢复正常。如果我想在wkwebview中使用cookies,你可以看看下面的讨论:我不知道这是否是我需要的,但我会尝试……好的,如果对你有用,让我知道。