简单的Jquery加载功能只在FF中工作,但在IE和Safari中不起作用

时间:2010-02-24 14:58:11

标签: jquery ajax load

只在FF中正常工作:

    <script type="text/javascript">
    function loadContent(id,start) {
   $("#ContentRightBlockTest").load("cast_member.php?_type="+id+"&start="+start+"");   
}  
    </script>

身体上的负荷

<body onLoad="loadContent('cast',4);">

4 个答案:

答案 0 :(得分:5)

通常,您不希望将身体onLoad与jQuery一起使用。当文档完全加载时,jQuery提供了一种更好的独立于浏览器的方式来运行javascript。试试这个:

    <script type="text/javascript">
    function loadContent(id,start) {
        $("#ContentRightBlockTest").load("cast_member.php?_type="+id+"&start="+start+"");   
   }
   $(loadContent('cast',4));
    </script>

然后移除你的身体负荷。 $( - 这里的东西 - );语法将确保文档加载时附带的javascript运行。

或者,您可以尝试:

$(document).ready(function() { loadContent('cast',4); });

答案 1 :(得分:1)

摆脱身体中的onload事件,然后在页面中将其打开

$(document).ready(function () {
    $("#ContentRightBlockTest").load("cast_member.php?_type="+id+"&start="+start+"")}
)

答案 2 :(得分:0)

我不确定你的意思是“不工作”,所以我只想提出一些建议。

我不确定Safari,但是Internet Explorer会缓存结果,导致您的期望出现打嗝。您可以通过在查询字符串中附加不断变化的值来避免这种情况。

function loadContent(id, start) {
  var t = new Date;
  $.get("cast_member.php", {'_type':id,'start':start,'t':t.getTime()}, function(result) {
    $("#ContentRightBlockTest").html(result);
  });
}

此外,建议等到DOM完全加载后再触发任何请求。因此,jQuery代码最好放在ready()的{​​{1}}事件中。下面是包含函数调用的简短表示。

document

答案 3 :(得分:-1)

您的HTML应该是这样的:

<body onload="loadContent('cast',4);">

具有小写属性?

相关问题