2012-03-14 104 views
0

我正在使用JavaScript中的會話超時。jQuery未定義錯誤

我使用此代碼在我的.js的文件超時:

var wintimeout; 
    function SetWinTimeout() { 
     intimeout = window.setTimeout("redirect();",g_secTimeout); //after 5 secs i.e. 5 * 1000 
    } 

     //$('body').click(function() { 
     jQuery('body').click(function() { 
     window.clearTimeout(wintimeout); //when user clicks remove timeout and reset it 
     SetWinTimeout(); 
    }); 

}); 

在我的PHP文件我包括jQuery代碼:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
<!--script type="text/javascript" src="../js/jquery.alerts-1.1/jquery.js"></script--> 

我都嘗試的這個..

但是,當我運行它仍然給我的'$是未定義的'或'jQuery是未定義'錯誤IE和FF。

除了jquery,我正在使用原型庫。在我的其他頁面中,它正在使用 ,它也使用jquery和原型。但對於這些其他網頁,它一直給我這個錯誤。 它變得非常沮喪;(

有人可以幫

如果是這樣的關係:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm11/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
+2

的jQuery 1.2.6是已經非常老了...... – Stefan 2012-03-14 06:41:38

+0

如何生成的HTML是什麼樣子?什麼是螢火蟲/鉻開發工具說? – jgauffin 2012-03-14 06:49:50

+0

我看了一下NET的XHR標籤,看起來jquery.js被成功地稱爲 ,因爲它說200 OK。但是當涉及到行 其中jQuery被稱爲它停止,並給出該運行時錯誤.. 在IE中它說的對象需要.. – tinks 2012-03-14 07:01:37

回答

0

剝去你的網頁的副本,以最低限度;沒有在<body>,只是在<script src="path/to/jquery.js">加上本身<script></script>標記中的以下:

jQuery(function(){ 
    var wintimeout; 
    function redirect(){ 
     alert('REDIRECT'); 
    } 
    jQuery('body').click(function() { 
     clearTimeout(wintimeout); 
     wintimeout = setTimeout(redirect, 5000); 
    }); 
}); 

如果仍然給出了同樣的錯誤,那麼它必須是路徑jQuery的文件;糾正路徑。

一旦這樣的工作,構建頁面再次通過回添加HTML,CSS和其他JavaScript。

+0

我試過這一個..我只有這個功能和我的.php包含鏈接到源..試圖寫絕對路徑,但它仍然給出了錯誤..我不明白::((((( – tinks 2012-03-14 07:55:17

+0

你說其他網頁正在工作。嘗試開始與一個工作頁面的精簡副本 - 否則相同的過程。 – 2012-03-14 13:25:14

0

下載最新的jQuery腳本(1.7)和存儲我t放在工作區的單獨文件夾中,並在您的< script>標籤中指定它的路徑。您可以從www.jquery.com

+0

我已經下載了lates版本並放置了jQuery.noConflict();在我的js文件的頂部,但仍然存在錯誤。它仍然說jQuery未定義.. NET選項卡的XHR說,jquery被稱爲,因爲它有200 OK狀態.. – tinks 2012-03-14 07:06:53

0

下載最新版本有可能是這幾個原因,

  • 的代碼不能達到正在使用訪問了jQuery 庫中的URL。
  • jQuery庫應該在使用任何其他 JS/jQuery插件之前聲明,並且這應該在您的 頁面的頭部分中完成。
  • 嘗試從本地磁盤/文件指向庫(但不總是更好,但它有時可能會幫助)
  • 我假設你在document.load編寫代碼
  • 總是使用最新版本的圖書館,除非你有一些 顯式依賴於以前的版本