URL片段和BASE标记

URL fragments and the BASE tag

本文关键字:标记 BASE 片段 URL      更新时间:2023-09-26

我在应用程序中使用<base>标记来简化开发。

我知道"功能"发生时,锚只是一个URL片段,因为它路由到<base> URL +片段。

我能做些什么来规避呢?我从来没有在Javascript中使用window.location或任何东西,而不是在它周围破解一段时间,我假设有人知道快速和肮脏,或一个例子。

这可以被规避吗?如果有,请告知。

(我讨厌问那些暗示我没有尝试过的问题,但是我一直在寻找/阅读几乎没有用)

(也;使用jQuery,所以任何可以利用Javascript或jQuery的例子都是受欢迎的)


jQuery解决方案我黑在一起,不确定是否可行作为一个永久的解决方案,虽然,想法?

$('a').each(function(index){
    if($(this).attr('href').indexOf('#') == 0){
        $(this).attr('href', (window.location.href).replace(/#.*$/, '')
            + $(this).attr('href'));
    }
});

好的,我想我现在明白问题了。

已在Google Chrome和Firefox中进行了测试。

在正文末尾添加以下javascript:

base=document.getElementsByTagName("base"); 
base=base[0].href;
links=document.getElementsByTagName('a');
for(index in links){
    if(links[index].href.indexOf(base+"#")==0){
        links[index].href=document.location+links[index].href.slice(links[index].href.indexOf("#"));
    }
}

不要使用相对url。基本标签不会影响url,如/homehttp://google.com,但它会影响about/ususers/12