比方說,這是你的菜單鏈接列表:
<ul id="menulist">
<li><a href="index.php?modul=mod1" rel="mod1">Module 1</a></li>
<li><a href="index.php?modul=mod2" rel="mod2">Module 2</a></li>
<li><a href="index.php?modul=mod3" rel="mod3">Module 3</a></li>
<li><a href="index.php?modul=mod4" rel="mod4">Module 4</a></li>
<li><a href="index.php?modul=mod5" rel="mod5">Module 5</a></li>
</ul>
你可以達到你需要用一個簡單的jQuery請求,另一個「模塊使者」 php文件是什麼:
<script>
$(document).ready(function(){
$('#menulist li a').click(function(e){
e.preventDefault(); // This will prevent the link to work.
$('#contenuto').load('module_bringer.php?mod=' + $(this).attr('rel');); // You get the moule from rel attribute
// You should keep the actual link so bots can crawl.
});
});
</script>
詳解編輯下面
0 - 好的。首先,你應該讓所有的東西繼續工作,沒有js和jquery。機器人不會通過瀏覽器進行爬網,他們只是獲取源代碼並抓取代碼。 (假設你關心seo)
1 - 爲菜單鏈接添加一個額外的屬性(在這種情況下,我已經添加了rel屬性)。此attr的值是模塊參數值。
2 - 包括jQuery庫(如果你以前沒有包括 - 你可以從here下載
3 - 您可以使用第二代碼部分,我已經寫了你只需要改變。觸發部分在第一個代碼塊中解釋菜單項時,觸發器會觸發jQuery代碼$('#menulist li a').click
您必須根據您的菜單結構更改此部分這部分是使httprequest將結果放入#contenuto div
4 - 您需要創建另一個文件來包含將成爲jquery httprequest目標文件的內容(在這種情況下,我已經命名它module_bringer.php)。內容應該是這樣的:
<?php
// You probably need to include some files here like db connection, class definitions etc.
?>
<br />
<?php
if(empty($_GET["modul"]) && empty($_GET['userpanel'])) {
require('moduli/news.php');
}
elseif (file_exists("moduli/" . $_GET['modul'] . ".php")) {
include("moduli/" . $_GET['modul'] . ".php");}
elseif (file_exists("moduli/userpanel/" . $_GET['userpanel'] . ".php")) {
include("moduli/userpanel/" . $_GET['userpanel'] . ".php");
}else{
include("moduli/404.php");
}
?>
<br />
請檢查vaiables的內容,以便您在$ _GET ['modul']爲「../../../../var/spool/ftp/pub/incoming/free_virus_scan」時準備好或類似的。 –