所以我的目的就是结束,我正在从自定义用户构建的主题升级移动网站以使用新的jquerymobile主题。
问题是该网站有一个聊天室部分,利用以下代码不断更新聊天消息div与包含新消息的另一个php文件的内容。
<script type="text/javascript" src="../jquery.min.js"></script>
<script type="text/javascript">
// jQuery Document
$(document).ready(function() {
});
function loadLog(){
$.ajax({
url: "chattextd.php?room=<?php echo $roomid; ?>&sid=<?php echo $sid; ?>",
cache: false,
success: function(html){
(document.getElementById("chatbox")).innerHTML = "";
$("#chatbox").html(html); //Insert chat log into the #chatbox div
}
});
}
function sendData(){
$.post ('chathandlerb.php',{message: form.message.value,roomid: form.roomid.value,cmode: form.cmode.value,sid: form.sid.value});
$.ajax({
url: "chattextd.php?room=<?php echo $roomid; ?>&sid=<?php echo $sid; ?>",
cache: false,
success: function(html){
(document.getElementById("chatbox")).innerHTML = "";
$("#chatbox").html(html); //Insert chat log into the #chatbox div
$("#message").val("");
loadLog();
}
});
}
$('#form').submit(function() {
// submit the form
sendData();
return false;
});
loadLog();
setInterval (loadLog, 5000);
</script>
此代码工作正常,直到我将jquerymobile主题js添加到文件的head部分,然后我得到一个空白页面,否则页面加载,但聊天文本div是空的,永远不会加载。
在添加jquerymobile部分之前,该文件的工作副本位于: http://furrtrax.com/furryim/chatroomb.txt
破碎的是这个网址: http://furrtrax.com/furryim/chatroomb.php.txt
所有包含都位于这些页面位置的相应网址中,因此如果您想查看脚本和css标记中加载的内容,可以通过网址加载它们。
请帮我解决这个问题。
答案 0 :(得分:0)
第一个测试可能是“mobileinit”事件的使用。 “mobileinit”取代了jQuery的“document.ready”(在您的示例中为空),并在JQM完全加载后触发,请参阅here
尝试像这样包装你的代码,也许它有帮助......
$( document ).on( "mobileinit", function() {
function loadLog(){
$.ajax({
url: "chattextd.php?room=<?php echo $roomid; ?>&sid=<?php echo $sid; ?>",
cache: false,
success: function(html){
(document.getElementById("chatbox")).innerHTML = "";
$("#chatbox").html(html); //Insert chat log into the #chatbox div
}
});
}
function sendData(){
$.post ('chathandlerb.php',{message: form.message.value,roomid: form.roomid.value,cmode: form.cmode.value,sid: form.sid.value});
$.ajax({
url: "chattextd.php?room=<?php echo $roomid; ?>&sid=<?php echo $sid; ?>",
cache: false,
success: function(html){
(document.getElementById("chatbox")).innerHTML = "";
$("#chatbox").html(html); //Insert chat log into the #chatbox div
$("#message").val("");
loadLog();
}
});
}
$('#form').submit(function() {
// submit the form
sendData();
return false;
});
loadLog();
setInterval (loadLog, 5000);
});