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: [email protected]
For additional commands, e-mail: [email protected]