Jquery .load()函数无法在Chrome上运行?

时间:2013-10-31 12:34:06

标签: javascript jquery html google-chrome

我尝试使用Jquery的.load()函数。在我看来,它不适用于我的Chrome,但它在Firefox和Safari上工作......

我不确定我做错了什么? 请帮帮我......

以下是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <script type="text/javascript" src="js/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <link rel="stylesheet" href="css/goldstyle.css" type="text/css" media="all"/>

</head>
<body>
    <div id="navcontainer">
        <script type="text/javascript">
            $(document).ready(function() {
                $('#navcontainer').load('nav-menu.html');
            });
        </script>
    </div>
</body>

4 个答案:

答案 0 :(得分:3)

我发现如果您直接在浏览器中打开该文件,即file:///它在Chrome中无法使用,您会看到以下内容:

Failed to load resource: Origin null is not allowed by Access-Control-Allow-Origin 

您需要设置一个Web服务器,如WAMP,然后从localhost运行它

答案 1 :(得分:0)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <link rel="stylesheet" href="css/goldstyle.css" type="text/css" media="all"/>
    <script type="text/javascript">
            $(document).ready(function() {
                $('#navcontainer').load('nav-menu.html');
            });
    </script>
</head>
<body>
    <div id="navcontainer">

    </div>
</body>

我更新了你的代码,所以负载在正确的位置,因为它的不良做法是将它放在原处。

你也不应该让jQuery正常,而且这会导致一些问题!

在Chrome,IE和Firefox上可以正常使用。

您是否尝试过将F12用于开发人员工具?

然后查看控制台中显示的错误?

答案 2 :(得分:0)

我有一个类似的问题,并发现Chrome(与IE或FF相反)经常需要额外的 Ctrl + F5 来卸载缓存的内容。< / p>

对我而言,似乎我的$().ready功能无法正常工作,但在 Ctrl + F5 后,它确实有效。

我知道这不是问题的答案,但我带着这种描述的行为来到这里 - 也许其他人也这样做了。

答案 3 :(得分:0)

我遇到了类似的问题,并通过添加setTimeout()而不是仅在其中添加function()来解决。

<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(setTimeout(function(){ 
$("#list").load("list.htm", function(){$("#list").hide().slideDown(600);})
},300)); 
</script>
<script language="javascript"> 

我以前的代码在Chrome浏览器中无法运行,但在Firefox中无法运行。

$(document).ready(function(){ 
    $("#list").load("list.htm", function(){$("#list").hide().slideDown(600);})
    }); 

希望这可以为您提供帮助。