Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在UIViewController Xamarin iOS中从UIWebview捕获windows.external.notify发布的消息_Xamarin_Uiwebview_Xamarin.ios - Fatal编程技术网

在UIViewController Xamarin iOS中从UIWebview捕获windows.external.notify发布的消息

在UIViewController Xamarin iOS中从UIWebview捕获windows.external.notify发布的消息,xamarin,uiwebview,xamarin.ios,Xamarin,Uiwebview,Xamarin.ios,我尝试从UIWebview登录,如果身份验证成功,那么我将使用脚本片段window.external.notify获取一个字符串令牌和 但问题是,我无法在iOS webview中检测到任何代码片段来读取此通知脚本 我尝试了使用iwkscript消息处理程序的地方,但没有成功 你们能帮我在iOS上完成吗?我不久前为Azure访问控制服务做过类似的事情。代码可在此处找到: 基本上,这是在页面中注入一个Notify脚本,当调用该脚本时,它会导航到一个我知道的特定URL,并从中获取有效负载 privat

我尝试从UIWebview登录,如果身份验证成功,那么我将使用脚本片段
window.external.notify
获取一个字符串令牌myWebView.AddJavascriptInterface(新的ExternalInterface(),“”)进行编码>和 但问题是,我无法在iOS webview中检测到任何代码片段来读取此通知脚本

我尝试了使用
iwkscript消息处理程序的地方,但没有成功


你们能帮我在iOS上完成吗?

我不久前为Azure访问控制服务做过类似的事情。代码可在此处找到:

基本上,这是在页面中注入一个Notify脚本,当调用该脚本时,它会导航到一个我知道的特定URL,并从中获取有效负载

private const string ScriptNotify=@”
window.external={
“通知”:函数{
document.location=acs://settoken?token=“+s;
}, 
“通知”:函数{
document.location=acs://settoken?token=“+s;
}
};
";
因此,上面的代码导航到
acs://settoken?token=
调用通知脚本时。您可以通过检查url方案在
UIWebView.ShouldStartLoad
中检测到这一点。如果与notify脚本中的匹配,则完成


为了注入脚本,我实现了
nsurlconnectionelegate
,在
finishedload
覆盖中,我将其作为数据的一部分注入,并让UIWebView加载该内容。

Master@Cheesebaron谢谢!我看到了你的代码片段,我有一个疑问,那就是我在webview中加载的URL已经有了这个脚本
窗口。external.notify
,同时登录成功通知它。现在,还需要注入您提供的脚本吗?