2010-01-08 3 views
0

В мобильных мини-браузерах, кажется, что объект window не имеет никакого смысла —, так как есть только одно окно для показа. Поэтому такие вещи, как window.pageYOffset=320, не имеют смысла (насколько я могу судить).Мобильный мини-браузер: как перезагрузить изображение при позиции смещения страницы?

Учитывая простой пример, такие как отображение ZoomIn/ZoomOut, такие как

<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> 
&nbsp;&nbsp;<a onclick="javascript:zoomin()">[+]</a>&nbsp;&nbsp; 
&nbsp;&nbsp;<a onclick="javascript:zoomout()">[&ndash;</a>&nbsp;&nbsp; 
</p><hr></body></html> 

, который, кажется, работает хорошо на настольных браузеров; поэтому я спрашиваю: как я могу указать, что при обновлении страницы (onclick, похоже, не работает на мини-браузерах, но href делает), он должен смещать страницу в предыдущую позицию? (По другим причинам просто (пере) загрузка страницы на заданный name d anchor не работает над проблемой, с которой я имею дело.)

Заранее благодарю вас.

ответ

0

Не правда ли, когда вы отвечаете на свои вопросы? Hmmm ...

В любом случае, согласно this, некоторые свойства/функции JavaScript (JScript?) window Объект имеет разные представления в зависимости от выбора браузера (Firefox, IE и т. Д.). Таким образом, возможно страница вертикальная функция смещения будет

function setPageVPos(w,vpos) { 
    try { w.scrollTo(0,vpos); } catch(e) {} 
    try { w.document.body.scrollTop(vpos); } catch(e) {} 
} 

Первые попытки с window.scrollTo реализации в Firefox браузеров, а второй пытается с document.body.scrollTop реализации в IE браузеров. Я тестировал как браузер Firefox (рабочий стол), так и мини-браузер HP iPaq IE-like (mobile) и работает на обоих.

Смежные вопросы