簡體   English   中英

我無法在離線安卓應用程序的webview中打開外部URL

[英]i cannot open external url in webview in ionic android app

我有這個離子應用程序在webview中打開一個外部URL。 我一直在測試ios模擬器,它工作正常,現在在Android模擬器上測試,但它不起作用。 和android監視器給我以下錯誤調試消息。

08-11 19:28:52.229: D/cr_Ime(2813): [InputMethodManagerWrapper.java:56] isActive: true
08-11 19:28:52.229: D/cr_Ime(2813): [InputMethodManagerWrapper.java:65] hideSoftInputFromWindow

和以下錯誤消息

08-11 19:28:52.070: E/chromium(2813): [ERROR:gles2_cmd_decoder.cc(2109)] [.CommandBufferContext.RenderWorker-0xf43e1700]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
08-11 19:28:52.096: E/chromium(2813): [ERROR:gles2_cmd_decoder.cc(2109)] [.CommandBufferContext.RenderWorker-0xf43e1700]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
08-11 19:28:52.122: E/chromium(2813): [ERROR:gles2_cmd_decoder.cc(2109)] [.CommandBufferContext.RenderWorker-0xf43e1700]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
08-11 19:28:52.226: E/chromium(2813): [ERROR:xwalk_autofill_client.cc(121)] Not implemented reached in virtual void xwalk::XWalkAutofillClient::OnFirstUserGestureObserved()

我完全不知道問題是什么。

function createCORSRequest(method,url)
{
  var xhr = new XMLHttpRequest();
  if ("withCredentials" in xhr)
  {
    xhr.open(method, url, true);
  }
  else if (typeof XDomainRequest !== "undefined")
  {
    xhr = new XDomainRequest();
    xhr.open(method, url);
  }
  else
  {
    xhr.open(method, url);
  }
  return xhr;
}

var formData = new FormData();
formData.append('portal[username]',name);
formData.append('portal[password]',password);
formData.append('portal[From]','web');

var url = endPoint+ '/login';
var xhr = createCORSRequest('POST', url);

xhr.onreadystatechange = function()
{
  if (xhr.readyState === 4 && xhr.status === 200)
  {
    var  jsonObj =   JSON.parse(xhr.responseText);
    var  status  =   jsonObj.status;
    var  message =   jsonObj.message;

    if(status==='success')
    {
      var token = jsonObj.token;
      home = 'http://127.0.0.1:8888/map/index?token='+token;
      var ref = window.open(home,'_self');
      ref.addEventListener('loadstart', function(event)
      {
        if (event.url == "http://127.0.0.1:8888/map/logout")
        {
          ref.close();
        }
      });
    }
    else
    {
      alert(message);
    }
  }
};

xhr.send(formData);

您應該能夠使用$ cordovaInAppBrowser插件打開一個URL。

$cordovaInAppBrowser.open('http://example.com', '_system');

我相信你還必須在config.xml中授予外部URL的權限

<allow-navigation href="http://example.com/*"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM