Cordova inappbrowser无法加载页面

时间:2016-08-14 20:52:00

标签: javascript android cordova inappbrowser

我正在尝试创建OAuth登录流程。在Cordova应用程序(仅在Android上测试)中,我尝试从我的服务器加载一个页面,该页面将浏览器重定向到谷歌那边的正确OAuth页面。然而,这突然停止了工作。

如果您在浏览器中尝试下面代码中的网址,您可能需要隐身或尝试其他一些措施以避免自动登录。(如果您实际登录,服务器会为indev服务创建一个帐户。)

如果我这样编写代码(我省略了从URL中捕获凭证令牌,这是最​​简单的可重复示例。):

function onLoad(){
  document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
  var authWindow = cordova.InAppBrowser.open("https://dev.taskapp.io/googleURI", '_blank');
  authWindow.addEventListener("loadstart", function(e){
      alert("Loadstart fired")
  }
)
}

webview仍为空,并且会显示消息Loadstart触发一次。如果我将'_blank'交换为'_self''_system',则会加载页面并重定向工作,但事件永远不会触发。这只发生在给定的页面上。

我在我的智慧结束。

更新:相同的代码就像iOS上的魅力一样。在使用window.open()的Android上也失败了。

更新2 :我现在明白了,_system打开了操作系统的浏览器,我显然无法控制,_self搜索了所有内容webview,让我的听众变得虚无。 _blank从一个干净的克隆存储库中运行一次,然后在第二个构建中中断(不更改代码)。

如果我将cordova.InAppBrowser.open(...)中的网址替换为我的服务器重定向的网址,Google的技术负载。然而,最终的登录按钮(可以触发重定向到我的服务器,可以假设。)已经死了。

重定向_blank目标会破坏事物吗?这是一个错误吗?有其他人在体验这个吗?

0 个答案:

没有答案