如何根据html中的浏览器url动态更改“href”?

时间:2011-07-25 11:17:09

标签: html

假设目前浏览器网址为“www.xyz.com”,而我的href =“/ css / home.css”。 现在我的要求是,如果网址更改为“www.xyza.com”或者更改为“www.xyzb.com”之类的内容,那么我的href也应该随着提供的网址更改为href =“/ css /home_a.css“和href =”/ css / home_b.css“。

有人可以告诉我怎样才能实现这个目标?

3 个答案:

答案 0 :(得分:1)

你可以获得当前位置 document.write(document.location.href); 然后用jquery,

更改css的href

$(“a”)。attr(“href”,“/ css / home_a.css”)

答案 1 :(得分:0)

您可以使用服务器端脚本来生成正确的链接。你没有提到你正在使用的东西。

或者您可以查看主机名并使用Javascript更改链接:

switch(document.location.host) {
    case "www.google.com": alert("Google"); break;
    default: alert("Other!");
}

答案 2 :(得分:0)

如果你想在同一个域上创建一个样式切换器,有2000种方法可以做到这一点,比如很容易适应你的具体问题(我不清楚):

在您的主页

<head>
<!-- bla bla -->
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo switch_style();?>" />
<head>

在您的样式切换功能

function build_css($style) {
    $css_file='style/'.$style.'/style.css'; // providing here your css path
    return $css_file;
}
function switch_style() {

    $style_dispo = array('default','style1','style2','style3','style4','style5');

    $current_style = ((isset($_SESSION['nav_style'])) AND ($_SESSION['nav_style'] != '')) ? $_SESSION['nav_style'] : 'default';

        // There you can adapt the style switch to your need, for example based on the $_SERVER(REQUEST_URI) in your case i/o a GET test case like here
    $new_style = (isset($_GET['style'])) ? $_GET['style'] : '';

    // style change
    if (($new_style != $current) AND ($new_style !=''))
    {
        if (in_array($new_style,$style_dispo))
        {
            $style= $new_style;
            $_SESSION['nav_style']=$style;
        }
        else
        {
            $style ='default';
            $_SESSION['nav_style']=$style;
        }
    }
    else
    {
        $style = $current_style;
        $_SESSION['nav_style'] = $style;
    }
    return build_css($style);
}