2

我尝试使用 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

4 回答 4

3

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

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

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

于 2013-11-16T05:44:20.810 回答
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 正常和 min 这会导致一些问题!

它在 Chrome、IE 和 Firefox 上运行良好。

您是否尝试过为开发者工具推送 F12?

然后看看控制台中显示了哪些错误?

于 2013-10-31T12:50:54.480 回答
0

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

对我来说,我的$().ready功能似乎不起作用,但在Ctrl+之后F5它确实起作用。

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

于 2015-07-09T14:04:10.257 回答
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);})
    }); 

希望这可以帮助你。

于 2019-05-03T06:58:49.993 回答