2013-05-12 78 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」。 如果您看到「禁止」,則權限可以。

相關問題