2012-03-14 73 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编写代码
  • 总是使用最新版本的图书馆,除非你有一些 显式依赖于以前的版本