簡體   English   中英

動態編輯href屬性

[英]Dynamically edit the href attribute

我不在乎它是什么語言,但是我希望可以自動完成。 我的網站上有幾個鏈接,無論如何鏈接到相同的地方。 例如,在index.php上,我有一個主頁鏈接,鏈接到href =“ index.php”。但是,當我現在處於downloads / download.php中時,我需要手動將位置調整為href =“ ../的index.php”

有沒有辦法動態地做到這一點? 考慮到我在整個頂部導航欄中都使用了include函數,這真是一團糟,而且我無法真正實現它的動態化。 實現此目的的理想語言是:PHP> JavaScript = jQuery> AJAX

http://www.dioxidetech.com/

效率更高! 謝謝!

使用相對網址:鏈接到:/而不是鏈接到../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>

希望對您有所幫助。


有關PHP Super Globals的更多信息

有關PHP $ _SERVER super global的更多信息

解決此問題的另一種方法,但不是將所有內容整齊地放置在一個地方的最直接方法,是通過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM