我有一个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