How to open a new window on iphone's standalone (fullscreen) mode
Asked Answered
K

4

10
<!doctype html>
<html>
<head>
<title>page</title>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-app-status-bar-style" content="black" />
</head>
<body>
<script>
function goToPage() {
    var pageUrl = 'http://www.google.com/';
    window.open(pageUrl);
}
</script>
<div id="installBtn" onclick="goToPage()">go to page</div>
</body>
</html>

The expected action is: when touch the div, a new window opens. This code works great in the iPhone's safari.

But when I tap "+" -> "Add to Home Screen", and press "go to page", no window is opened, and the page loads in the same screen.

How to force, by javascript, a new window to open in the standalone mode?

Kaolin answered 18/11, 2010 at 12:22 Comment(0)
N
1

The below question does mention a possible JavaScript solution out of the top voted answers, which constructs the anchor element and dispatches the 'click' event on it.

Question: Force link to open in mobile safari from a web app with javascript
Answer: https://mcmap.net/q/245479/-force-link-to-open-in-mobile-safari-from-a-web-app-with-javascript

Alternatively if you can use an anchor element (I know you asked how to do it in JavaScript) you can do the following:

<a id="installBtn" href="http://www.google.com/" target="_blank">go to page</a>

Other related questions:

iPhone window.open(url, '_blank') does not open links in mobile Safari

Nutriment answered 26/6, 2012 at 13:27 Comment(0)
M
0

This works for me. Doesn't work when requesting it from html, only from JS.

window.open('[url]','_system');
Milore answered 7/6, 2013 at 14:8 Comment(0)
G
0

you can use childbrowser to open in the standalone mode

Or you can use this

window.location = url(your Url);
Gausman answered 29/4, 2014 at 5:59 Comment(0)
S
-10

There you go! (if you still need it)

<script>
    if(window.navigator.standalone === true) 
     document.write('Standalone');
    else
     document.write('Web browser');
</script>

R.

Slyke answered 17/1, 2011 at 20:23 Comment(2)
Welcome to stack overflow :-) Please look at How to Answer. You should provide some information why your code solves the problem. Code-only answers aren't useful for the community.Normanormal
Well that's a 2012 message but fair enough! This code tests if the web engine is used in standalone mode or not. AFAIK only supported by iOSSlyke

© 2022 - 2024 — McMap. All rights reserved.