[英]Dynamically edit the href attribute
我不在乎它是什么語言,但是我希望可以自動完成。 我的網站上有幾個鏈接,無論如何鏈接到相同的地方。 例如,在index.php上,我有一個主頁鏈接,鏈接到href =“ index.php”。但是,當我現在處於downloads / download.php中時,我需要手動將位置調整為href =“ ../的index.php”
有沒有辦法動態地做到這一點? 考慮到我在整個頂部導航欄中都使用了include函數,這真是一團糟,而且我無法真正實現它的動態化。 實現此目的的理想語言是:PHP> JavaScript = jQuery> AJAX
使用相對網址:鏈接到:/而不是鏈接到../index.php,其他鏈接也可以是相對的,例如:/downloads/download.php
順便說一句。 如果使用downloads子目錄,為什么不在那里也有index.php? 您不需要鏈接到索引文件,只需鏈接到包含文件夾的目錄即可。
而不是使用本地目錄,而是使用URL。 因此,您可以將http://example.com/index.php
用作所有這些的href
屬性。
您還可以使用超級全局$_SERVER
檢索基本URL。
function getHomeURL() {
return $_SERVER[ "HTTP_ORIGIN" ];
}
這樣,您就可以在需要放置href屬性時調用該函數。
<a href="<?php echo getHomeURL(); ?>">Home</a>
希望對您有所幫助。
解決此問題的另一種方法,但不是將所有內容整齊地放置在一個地方的最直接方法,是通過switch()
您制作了一個看起來像這樣的index.php文件:
<?php
include 'navbar.php';
$pagelink = $_GET['link'];
switch($pagelink)
{
case 'home';
$link = "home.php";
break;
case 'download';
$link = "download/downloads.php";
break;
case 'about';
$link = "about/about.php";
break;
case 'contact';
$link = "contact/contact_us.php";
break;
case 'this';
$link = "something/else/in/a/different/folder/this.php";
break;
}
include $link;
include 'footer.php';
?>
然后,您要做的就是制定所有鏈接,如下所示:
<a href="index.php?link=download" title="Downloads" target="_self">Downloads</a>
而且您永遠不會離開索引頁面,而將每個頁面(無論其位於何處)加載(包括)在索引頁面內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.