我有一個iPhone應用程序和一個iPad應用程序,都在UIWebView中運行相同的Web代碼。 網頁代碼是對PHP頁面的調用,以獲得一些HTML + Javascript到移動設備並將其顯示在框架中。 此代碼的目的是與聊天服務器進行交互。iPad上的溢出div無法正常工作
的HTML包括DIV:
<div id="messageContainer" style="width: 768; height: 310; border: 1px solid black; background-color: black; color: white; font-size: 14px; overflow: auto; -webkit-overflow-scrolling:touch">
</div>
當javascript代碼獲取一個行數據從服務器,它只是把它添加到div:
function addPost(data) {
var e = document.getElementById("messageContainer");
var post;
if (typeof(data) == "object")
{
post = "<div dir='ltr'><span style='color: rgb(183,226,76)' >" +
data.displayName + "</span>‎: " +
"<span >" + data.msg + "</span><BR/></div>";
} else {
post = data + "<BR/>";
}
e.innerHTML = post;
e.scrollTop = e.scrollHeight;
}
所以在文本div滾動以保持在視圖中。
iPhone和iPad正在運行iOS 5
應用程序完美的作品在iPhone上!
但是,在iPad上,大約20-25行數據後,div不再顯示新文本。 我檢查了innerHTML的值,它確實包含了新的文本。它只是拒絕顯示它。 我可以在這種情況下滾動文本,但不能添加將顯示的新文本。
我已經閱讀了幾篇關於iPad上的滾動和innerHTML問題的文章,但沒有一個建議的解決方案有所幫助。
任何想法可能是錯誤的將不勝感激!
THX
奧弗
更新#1:
的HTML體是:
<body style="margin: 0px; height: <?=$chatWindowHeight?>;">
<div id="messageContainer" style="width: <?=$chatWindowWidth?>; height: <?=$chatWindowHeight?>; border: 1px solid black; background-color: black; color: white; font-size: 14px; overflow: auto; -webkit-overflow-scrolling:touch">
</div>
<IFRAME name="chatwindow2" id="chatwindow2" FRAMEBORDER="0" SCROLLING="NO" WIDTH="0" HEIGHT="0" src="ConnectToChat.php">Browser does not support iframes!</IFRAME>
</body>
嗨,不幸的是,這並沒有改變,同樣的行爲。謝謝! – oferbar 2012-03-18 14:25:53