我使用JQuery设计了几个星期的网站。我没有本地服务器或测试服务器所以我只是通过FTP创建了一个目录'/ testing'。一切都在测试目录中运行良好。
我试图通过将'/ testing'中的所有文件移动到根目录而今晚上线,并相应地更改了所有文件路径和脚本源。该站点加载,但与JQuery相关的所有内容都不起作用。 Javascript控制台提供错误(仅作为插件的示例):
'$。os.name'不是函数
我不知道该做什么。我更改了引用JQuery库的路径,安装了JQuery的新副本(到新目录)等。
在不同的目录'/ blog'中有一个wordpress安装。我已经阅读了有关wordpress的一些兼容性问题,但这似乎与在 wordpress中使用JQuery 有关,我不是。
这是头部代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="main.css" rel="stylesheet" type="text/css">
<link href="jquery.lightbox-0.5.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="jq.browser.js"></script>
<script type="text/javascript" src="compatible.js"></script>
<script type="text/javascript" src="nav.js"></script>
<script type="text/javascript" src="jquery.lightbox-0.5.js"></script>
<script type="text/javascript">
$(function() {
$('a.lightbox').lightBox();
});
</script>
<title>Pearce Images</title>
<script type="text/javascript" src="slider.js"></script>
<link href="slider.css" rel="stylesheet" type="text/css">
</head>
值得注意的是,所有页面都是PHP格式的。我不是PHP开发人员,我只使用1个函数:require_once('some.file.php')。 (抱歉没有代码标记,但我无法处理这个降价事件)。我只是使用它为所有页面的页眉和页脚提取相同的代码,这样如果需要进行更改,我只需要更改一个代码块。
非常感谢您的帮助。
答案 0 :(得分:0)
首先尝试从浏览器下载jquery.js文件(或其他任何名称)。转到查看源。某些浏览器会自动突出显示链接,以便您单击它们查看访问时是否加载了jquery.js文件。如果没有,则说明服务器配置问题。
否则,创建一个使用jQuery脚本的简单HTML文件。如果它运作得很好,你就可以解决问题了。
要测试的一件事是查看jQuery
变量是否仍然可用。 $
可能已更改为引用另一个JavaScript库。如果是这种情况,您不必用jQuerys替换所有$ s;您可以使用其他插件保持代码与代码兼容,方法是使用如下所示的jQuery代码:
(function($){
/* Code using $ for jQuery. */
}(jQuery));
答案 1 :(得分:0)
要进行问题排查,请尝试将jQuery的<script>
标记指向{AJ}的Google AJAX Libraries来源http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
。如果可行,那么您只是弄乱了src
属性。发布您在页面中的标题以及物理放置jQuery的位置。
编辑(查看代码之后):我想知道“compatible.js”是否覆盖了$
函数声明。尝试使用$
替换所有使用jQuery
的实例。此外,您的Javascript似乎不在<script>
标记中。使您的代码看起来像这样:
<head>
<link href="main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="compatible.js"></script>
<script type="text/javascript" src="jquery.lightbox-0.5.js"></script>
<script type="text/javascript">
jQuery(document).ready(function () { jQuery('a.lightbox').lightBox(); });
</script>
<title>Pearce Images</title>
<link href="slider.css" rel="stylesheet" type="text/css">
答案 2 :(得分:0)
这可能是复制粘贴问题,但在“1.4.2”之后还有一个额外的空间:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2 /jquery.min.js"></script>
答案 3 :(得分:0)
同时检查你是否从compatible.js再次调用jquery ......这可能有时会引起这个问题....
答案 4 :(得分:0)
哦,我觉得自己像个傻瓜:
<script type="text/javascript" src="jq.browser.js"></script>
是一个检测浏览器类型和操作系统的插件,这就是“compatible.js”文件使用的内容。我昨晚显然未能转移那么多次。不知道为什么它打破了jquery函数的其余部分,我认为它只会跳过兼容函数,这是compatible.js的内容:
var links = "a.links,a.trigger";
var folio = "a.portfolio";
//
//
$(document).ready(function() {
if ($.os.name == "mac")
{
$(links).css("fontSize","76.6%");
$(folio).css("fontSize","76.6%");
$(links).css("top","-4px");
$(folio).css("top","5px");
}
});
一切都很好,感谢所有帮助人员!