URL片段和BASE标记
URL fragments and the BASE tag
我在应用程序中使用<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,如/home
或http://google.com
,但它会影响about/us
或users/12
相关文章:
- 使用类从一个标记中双击事件
- 如何更改<svg>标记为<img>用js标记
- angular.js没有'无法在PhoneGap中处理视图标记
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 谷歌地图标记不会显示
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- HTML标记在脚本标记中工作
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 更改li标记文本的Javascript
- 未捕获的语法错误:意外的标记{
- Js.erb VS按钮标记-不'不起作用.为什么?
- 标记的实时更新,无需加载页面谷歌地图API V3
- 是否可以添加这行“;“照原样”;在HTML标记中
- 当HTML页面中有BASE标记时,SVG渐变变为黑色
- URL片段和BASE标记