我正在尝试构建一个php webpage.packing.php包含:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="Fresh Sliding Thumbnails Gallery with jQuery and PHP" />
<meta name="keywords" content="jquery, images, gallery, full page, thumbnails, scrolling, sliding, php, xml"/>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/>
<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />
<script type="text/javascript" src="js/jquery-1.6.1.js"></script>
<link rel="stylesheet" type="text/css" href="css/site.css" />
<script type="text/javascript" src="js/ddsmoothmenu.js">
</script>
<script type="text/javascript" src="js/jquery.gallery.js"></script>
<script type="text/javascript" >
$(document).ready( function(){
// Menu
ddsmoothmenu.init({
mainmenuid: "smoothmenu1", //menu DIV id
orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
classname: 'ddsmoothmenu', //class added to menu's outer DIV
//customtheme: ["#1c5a80", "#18374a"],
contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
});
});
</script>
我的.htaccess是
RewriteEngine On
RewriteRule ^packing/Pure packing.php?id=pure
RewriteRule ^packing/ExtraVirgin packing.php?id=EV
现在,当我打开我的php时,它会正确地说我打开packing.php
但是当我使用干净的URL打开时,它会在firebug中显示错误,说明$未定义。
现在我知道问题是由于javascripts的加载顺序错误造成的。 为什么会这样?我该如何解决?
谢谢。
答案 0 :(得分:2)
当您使用干净的URL时,浏览器认为它位于不同的目录(/packing/pure
)中。指向JS文件的相对URL将不再有效。
请改用绝对网址:
<script type="text/javascript" src="/js/jquery.gallery.js">
答案 1 :(得分:2)
路径可能存在问题?您没有提供路径,但是您正在将路径从根(packing.php
)更改为第二级(packing/Pure
)。它可能在错误的路径中查找您的.js文件,例如packing/js/
而不是/js
。
尝试使用绝对路径进行加载:
<script type="text/javascript" src="/js/jquery-1.6.1.js"></script>
(注意斜线!)
甚至
<script type="text/javascript" src="http://yoursite.com/js/jquery-1.6.1.js"></script>