2011-01-13 69 views
4

我想在Javascript中將事件綁定到orientationchange或在Android中調整事件大小,以便更改我的web應用程序的一些元素的寬度/高度。在事件中,我使用window.innerHeight和window.innerWidth來獲取窗口的當前高度和寬度。Android的方向變化調整大小的HTML元素

這適用於iOS和桌面設備,但在Android上它似乎在更改窗口變量中的值之前調用此事件。因此,當某人從縱向切換到橫向時,我仍然獲得縱向值,因此無法正確調整大小。有誰知道問題是什麼,以及我如何解決它?

回答

4

我有固定的問題。事實證明,resize事件可以正常工作,但orientationchange事件不會。我正在測試以確定orientationevent是否存在,然後如果可能的話綁定。我已將代碼更改爲僅使用resize事件,並取得了預期的效果。

我不確定這是否對我的代碼是獨一無二的,但這是爲我修復的。

0

我可以確認「orientationchange」-event在android 2.2和2.3中無法正常工作。它說,當你檢查可用性但它不會開火時它會出現。它在Android 1.6和2.1中工作。我結束了,就像你一樣,使用所有Android版本的「resize」事件。

2

我的調查表明,這個Android的WebView錯誤(「orientationchange」大火改變window.innerHeight JavaScript值前20-150ms)當您修改Web視圖的默認用戶代理存在。不過,不要問我如何與另一個人相關。

但解決您的萬阿英,蔣達清,你可以做下列操作之一:

1)也會從你的代碼

webView.getSettings()setUserAgentString(「自定義用戶擺脫了下列用戶代理修改-agent「);

2)使用「調整」事件而不是「orientationchange」事件