You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Konstantin Khlopin (JIRA)" <ji...@apache.org> on 2018/02/09 08:21:00 UTC

[jira] [Created] (CB-13857) External URL navigation does not work in PhoneGap web app on iOS 11.3 Beta

Konstantin Khlopin created CB-13857:
---------------------------------------

             Summary: External URL navigation does not work in PhoneGap web app on iOS 11.3 Beta
                 Key: CB-13857
                 URL: https://issues.apache.org/jira/browse/CB-13857
             Project: Apache Cordova
          Issue Type: Bug
         Environment: iOS 11.3 Beta
            Reporter: Konstantin Khlopin


Not sure if this a Cordova bug, but I was recommended to report it here on PhoneGap forum.

Navigation to external URL from my PhoneGap web app stopped working on iOS 11.3 Beta version on iPad. It is working fine on iOS 11.2.5 and on Android platform.

It looks like the reason for this is that iOS 11.3 takes Safari 11.1 into use, which in turn has some security changes that might affect this navigation (see [Safari 11.1|https://forums.adobe.com/external-link.jspa?url=https%3A%2F%2Fdeveloper.apple.com%2Flibrary%2Fcontent%2Freleasenotes%2FGeneral%2FWhatsNewInSafari%2FArticles%2FSafari_11_1.html]).

Note that the same problem initially existed on iOS 10 about a year ago, but then it has been fixed by adding _<allow-navigation href="*" />_ to *config.xml* of the app.

Naturally my app still has this setting. The external navigation itself is happening when submitting a form with an external URL to the frame in the following manner:

_..._

_<script type="text/javascript">_

     _..._

     _document.getElementById("url").value = ...;_

     _document.getElementById("form").submit();_

     _..._

_</script>_

_..._

_<form id="form" action="frame.html" method="GET">_

      _<input id="url" type="hidden" name="url"/>_

     _..._

_</form>_

_..._

*frame.html*:

_..._

_<script type="text/javascript">_

     _function loadPage() {_

          __          _var url = new URL(window.location.href).searchParams.get("url");_

          _..._

          _document.getElementById("frame").src = url;_

     _}_

     _..._

_</script>_

_..._

_<body onload="loadPage()">_

     _<iframe id="frame" src="#" ></iframe>_

     _..._

_</body>_



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org