2011-06-12 113 views
1

我想建立webpage.packing.php包含PHP JavaScript的加载顺序问题:干净的URL和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它给出了一个错误,在萤火虫中说$没有定义。

现在我知道问题是由于javascripts的加载顺序错误。 为什么会发生?我该如何解决?

谢谢。

回答

2

当您使用干净的URL时,浏览器认为它位于不同的目录中(/packing/pure)。指向您的JS文件的相对URL将不再有效。

使用绝对路径,而不是:

<script type="text/javascript" src="/js/jquery.gallery.js"> 
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> 
+0

遗憾未能标志着两个答案正确的..谢谢了很多 – 2011-06-12 11:51:29

+0

无课程问题:) – Nanne 2011-06-12 12:06:31