чистая проблема порядка загрузки url и javascript в php - PullRequest
1 голос
/ 12 июня 2011

Я пытаюсь создать 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, он правильно говорит, что я открываю package.php

Но когда я открываю, используя чистый URL-адрес, в firebug выдается сообщение о том, что $ не определено.

Теперь я знаю, что проблема связана с неправильным порядком загрузки javascripts. Почему это происходит И как я могу это решить?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 июня 2011

Может быть проблема с путями?Вы не даете пути, но вы меняете пути от корня (packing.php) до 2-го уровня (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>
2 голосов
/ 12 июня 2011

Когда вы используете чистые URL, браузер считает, что он находится в другом каталоге (/packing/pure). Относительные URL-адреса, указывающие на ваши файлы JS, больше не будут работать.

Вместо этого используйте абсолютные URL:

 <script type="text/javascript" src="/js/jquery.gallery.js">
...