我遇到以下問題 - 我有一個webview,其中加載了一個iframe,其中內容文檔通過javascript修改(插入文本)。問題是,當內容變得太多(web視圖變成可滾動的)以及當用戶滾動觸摸事件時將不能正確處理 - 即用戶將點擊某處並且光標將出現在不適當的位置或不會根本不出現。當沒有iframe存在時,不會出現此行爲。如果iframe存在,Android webview將無法正確處理事件
歡迎任何有關如何解決此問題的想法。
我遇到以下問題 - 我有一個webview,其中加載了一個iframe,其中內容文檔通過javascript修改(插入文本)。問題是,當內容變得太多(web視圖變成可滾動的)以及當用戶滾動觸摸事件時將不能正確處理 - 即用戶將點擊某處並且光標將出現在不適當的位置或不會根本不出現。當沒有iframe存在時,不會出現此行爲。如果iframe存在,Android webview將無法正確處理事件
歡迎任何有關如何解決此問題的想法。
的問題可能是由於雙滾動。
由於iFrame的內容比它可處理的內容多,因此使用觸摸事件來滾動iFrame。但是webview本身也可以滾動,所以有很多潛在的怪異行爲。
考慮當iFrame內容碰到邊緣時(用戶沿着iFrame向上或向下滾動)會發生什麼。如果用戶繼續滾動iFrame,會發生什麼?它應該什麼都不做並且吃這個事件?反彈iFrame滾動內容?將事件傳遞給webview,以便它可以滾動?
這是一個模棱兩可的情況。根據不同的觸摸手勢,Android的反應方式可能不一致,甚至可能因Android的不同而不同。
你最好避免使用iFrame,直接修改webview的內容,或者給予iFrame 100%的高度和100%的寬度,以便佔用整個webview。
這將避免滾動衝突,並且Android應該停止對放置光標的位置感到困惑。
爲您的iframe設置固定高度。 <iframe ... scrolling="no" height="150px">
在您的iframe中應用包含div
的iScroll。
iScroll可以在這裏找到: https://github.com/cubiq/iscroll
這裏的iScroll的動作演示: http://cubiq.org/dropbox/iscroll4/examples/simple/