2013-05-12 101 views
6

我的问题不是关于为什么我写的特定的jQuery不工作,因为它是关于没有jQuery的所有工作;甚至没有我从W3学校等地直接复制的例子。为什么jQuery不能在我家(本地)机器上工作?

我在我的软件开发工作中不时使用jQuery,虽然我不是专家,但我对它很熟悉。我第一次尝试在家庭项目中使用jQuery,不管我做什么,都不会起作用。我在下面包含的例子大概就像我能想到的那样简单,甚至不起作用。

<!DOCTYPE HTML> 
<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
</head> 
<body> 
<div> 
    <p>Old Stuff</p> 
</div> 
<script type="text/javascript"> 
    $('p').text('New Stuff'); 
</script> 
</body> 
</html> 

什么可能是错误的呢?

+0

当w3schools不工作时不会感到惊讶。看看http://w3fools.com为什么不是 – mplungjan 2013-05-12 16:48:06

+0

你的例子工程,如果你正确加载jQuery - 这意味着http://从文件或上传页面http://jsfiddle.net/mplungjan/8tXC2/ – mplungjan 2013-05-12 16:49:49

+0

你从你的文件管理器打开页面? – BoltClock 2013-05-12 16:50:46

回答

8

代码没问题。

脚本没有下载,因为您可能没有部署代码,浏览器将默认为file://协议。

为了解决这个问题,添加http:在脚本标签:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
                      </script> 
+0

我其实在这里试过了。 Chrome不加载脚本。如果没有指定'http://',如果'http:'不存在,它会搜索'file://' – acdcjunior 2013-05-12 16:51:34

+0

@mplungjan是否浏览器不会查找与根文件夹相关的文件? – 2013-05-12 16:52:29

+0

@mplungjan:协议*是*在本地计算机上是必需的(由于[BoltClock,下面]解释的原因(http://stackoverflow.com/questions/16509740/why-does-no-jquery-work-on-my-家用机/ 16509764?noredirect = 1个#comment23701542_16509764))。 – 2013-05-12 16:52:48

3

改变这种

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

这个

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
1

的方式加载jQuery的可能是一个问题。当你用//开始你的URL时,它应该在通过HTTP或HTTPS协议浏览页面时起作用。但是,如果您将其作为本地文件打开,它将无法工作。

鉴于您的例子工程通过HTTP我建议你尝试包括jQuery的如下:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
</script> 
0

使用http:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
-2

你忘了放置

$('p').text('New Stuff'); 

内文件准备好了,你可以这样做:

$(function(){ 
    $('p').text('New Stuff'); 
}); 
+0

不是。它是在P之后,所以它是好的 – mplungjan 2013-05-12 16:53:49

+1

但这不是最好的使用jQuery的实践,所以旁边的jQuery js文件src包括在本地或CDN我们需要在文档上做这件事Ready功能 – Milson 2013-05-12 16:57:01

+0

我们没有讨论最佳实践。有时候你需要内联脚本,有些人发誓说脚本应该放在/ body和其他的必须放在头上等等。该代码的作品,问题是文件:/ /对比http:// – mplungjan 2013-05-12 16:58:25

0

通过调用浏览器url中的脚本位置来检查您是否具有脚本的正确权限。 因此,如果您刚刚在浏览器网址中输入“http://someloaction/js/jquery.min.js”。 如果您看到“禁止”,则权限可以。

相关问题