您在這裡

jQuery is not definded

genlung's 的頭像
genlung 在 2010-11-04 (四) 01:21 發表

每次網頁呼叫jQuery時就產生error
firebug擷圖如附加檔案
遍找網路上的資訊總是一知半解
希望在此能找到協助解決問題
先謝過所有幫助的人
error

網路上找了一陣子,有一篇提到是權限問題,於是把/misc及其中的檔案權限設成755之後仍然出現這種error
另外有些更動一些程式碼之類的方法,總覺得應該不對症,畢竟這些程式包發佈之時一定經過測試不至於要使用者安裝之後再去改,
對於jQuery一竅不通,不知道它要怎麼去設定或測試,希望高手指點一下迷津。謝謝

打開 NET tab之後看到的訊息是 503 Service Temporarily Unavailable 在網路上做了一下功課,看起來是apache 端的訊息,於是寫信給伺服器租用商,原來他們為了安全性理由限制每個ip的連線數為5,而不知怎的可能jQuery會造成連線數超過而產生的訊息,經過他們調整之後jQuery is not definded 的訊息已經沒有了。不過他們加上了一句「請貴單位了解上述情形將網頁框架設定在最高連線數內」,不知道設定網頁框架連線數如何在 drupal 裡做? 如蒙啟發不勝感激。

什麼伺服器有這些設定 ?? 公開一下讓別人留意留意
不知它們所指的是什麼連線數,以我能理解的字眼中,IE8, FF 3, Chrome 7+ 都是預設 6 連接數

連線數與 Drupal 無關啦,不過你可以打開 Performance -> Bandwidth optimizations 自救一下

那就是說,如果你的網站某頁面,有 20 張小圖片,就會有一些不能顯示,會有這樣的情況?? LOL

---
notaBlueScreen

他們的客服回文如下:
**********************************
503 Service Temporarily Unavaliable 的情形是主機為了防止被進行大量連線數的攻擊,
所以有針對每個ip只能有五個連線數的限制,如果同一個ip第六個連線數的話就會出現Service Temporarily Unavailable這樣的問題,這是針對每個ip而設定的,
所以可能某個ip已超過連線數,而另一個ip並沒有,而解決的方式一般只要重新整理,
或是關掉瀏覽器再重新打開網頁就可以正常了。

目前先暫時協助設定最高的連線數15個,請貴單位了解上述情形將網頁框架設定在最高連線
數內即可或是重新整理網頁,謝謝。
*************************************

我剛做了一下功課 實在也不知道「將網頁框架設定在最高連線數內」如何做,本想可能和 .htacess有關吧,目前為止沒有找到答案,可能要請教他們了…
而剛才再繼續測試一下網站,情況是變好很多,但不是全然不會出現原來的問題,我想先保留再探討一下看看…是不是其他原因會引發這個問題

換一家主機商
沒看過這麼遜,一個ip只能連線5個... @@

通常DDOS/DOS的防護不是這樣子做的
--
from open mind to open source~

--
from open mind to open source~

這個 error 100% 就是 ===> 沒有下載 jquery.js!!

為什麼沒下載到 ?

1. 打開報錯網頁看你的原始碼...尋找有沒有看到 jquery.js 或 jquery 開頭的 js 檔 。

2. 如果有這個連結但是報錯...設法使用像 Charles 等軟體,查看服務器說什麼? 為何不給 ?

503 指的是 server 暫時沒空...內部問題...http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
如果 server 老報 503 , 不可能單單每次都無法下載 jquery.js...應該是任何文件都有機會無法下載...

小弟最近才開始研究 Drupal ... 不過我不明白...為何不把這行代碼加在 html 裡呢?

google 早就有提供永久網址給常用 js library 下載了...不用自己苦命的用服務器下載啦...差很多喔...
因為是不同網域 ... 可以同時下載...google 的頻寬比較快...服務器比較強...東西交出去時還會幫你自動壓縮, cache control
同樣另一個網站也是這麼用時...根本就直接從緩存拿 jquery 了...快的不得了

如果需要 jQueryUI 的話,把以下代碼也加到 html 裡


這樣連 jqueryui 都一起下載了...( theme 可以到 jqueryui 網站上隨便挑一個當基本來改 )

作為程式的預設工具,沒可能預設從外部進行載入
其次 Drupal 6 與最新版本的 jQuery 有相容性問題,需要注意

你的猜想很正路,但也是有可能每次都是同一檔案的,瀏覽器進行下載並不是隨機性,而是很有規律

---
notaBlueScreen

經使用打開 Performance -> Bandwidth optimizations(本來想建制階段不想因為快取而對修改內容有判斷錯誤的想法而沒開啟)之後 error已經不會產生,因為每次都去呼叫一個被 寫成html格式的文件不再呼叫jQuery,似乎這樣也可以解釋得過去。
但是奇怪的是之前的錯誤都是發生在呼 叫 *.js檔,而且是隨機性的在不同的網頁中出現,所以,是不是這家主機商的apache設定和jQuery之間的關係?
不過建議把script加在網頁中的做法,應該也是一個不錯的做法呢!