In mobile web minibrowsers, it seems that the window object makes no sense — since there’s only one window to show. Therefore, things like window.pageYOffset=320 make no sense (as far as I can tell).
Given a simple example such as a map zoomin/zoomout such as
<html>
<head>
<title>zoom.html</title>
<script language="javascript">
var zoom=15;
var vpos=window.pageYOffset;
var key="whatever-your-Google-Maps-site-key-is";
function setImgSrc(z) {
document.getElementById('img').src=
"http://maps.google.com/maps/api/staticmap?center=Lisbon,Portugal&zoom="
+zoom+"&size=400x400&maptype=roadmap&sensor=false&key="+key;
}
function zoomin()
{ if(zoom<=18) zoom++; vpos=window.pageYOffset; setImgSrc(zoom); }
function zoomout()
{ if(zoom>=1) zoom--; vpos=window.pageYOffset; setImgSrc(zoom); }
</script>
</head>
<body onload="javascript:setImgSrc(15);">
<h1>zoom</h1>
<p><img id="img" alt="Lisbon,Portugal"/></p><p>
<a onclick="javascript:zoomin()">[+]</a>
<a onclick="javascript:zoomout()">[–</a>
</p><hr></body></html>
which seems to work well on desktop browsers; so I ask: how can I indicate that, on updating the page (onclick doesn’t seem to work on minibrowsers, but href does) it should offset the page to the previous position?
(For other reasons, simply (re)loading the page to a given named anchor isn’t working on the problem I’m dealing with.)
Thanks in advance for your feedback.
Isn’t it lovely when you answer your own questions? Hmmm…
Anyway, according to this, some properties/functions for the JavaScript (JScript?)
windowobject have different representations according to the choice of browser (Firefox, IE, etc.). Therefore, a possible page vertical offset function would beThe first tries with the
window.scrollToimplementation in Firefox browsers, and the second tries with thedocument.body.scrollTopimplementation in IE browsers. I’ve tested in both Firefox (desktop) browser and in a HP iPaq IE-like (mobile) minibrowser and works on both.