的JavaScript动态URL内容

问题描述:

我有一个HTML链接引用类似:的JavaScript动态URL内容

click here<a href="http://www.example.com/usr/page.aspx?pgid=1">www.example.com</a> 

现在我想添加JavaScript代码,使www.example.com网址是动态的。所以它会始终检索作为

<a href="[DYNAMIC URL]/usr/page.aspx?pgid=1">www.example.com</a> 

任何人都可以请指教?TQ

+0

不要你有后端?你的条件是什么动态的手段? – 2014-12-05 09:22:53

+1

那是你想要的吗?'www.example.com'?将由浏览器使用当前主机名,协议,端口进行解释。 – dfsq 2014-12-05 09:28:12

+0

@dfsq是的,我想让脚本从用户访问的URL中获取任何域。意思是如果用户访问site1.com。它会去“site1.com/usr/page.aspx?pgid=1” – Ren 2014-12-05 09:31:33

使用JavaScript获得域名,并添加它来创建你需要的链接。

var domain = document.domain; 
var link = '<a href=\"'+domain+'/usr/page.aspx?pgid=1\">www.example.com</a>'; 
link // here you get a anchor tag html. 

从可能子域集sub1.example.com sub2.example.com sub3.example.com中获取域名example.com。你可以尝试下面的代码。

var parts = location.hostname.split('.'); 
var subDomain = parts.shift(); 
var upperLevelDomain = parts.join('.'); 

To get only the second-level-domain, you might use 

var secondLevelDomain = parts.slice(-2).join('.'); 

href属性可以是相对路径:

<a href="/path/to/page">Blah</a> 

链路会抓住当前协议,主机和端口和追加下一无论发生什么。

示例场景:让我们假装当前网址为http://yoursite.com/pages/links.html上面的示例锚会在点击http://yoursite.com/path/to/page时导航。

注:如果省略了斜线的相对路径

<a href="path/to/page">Blah</a> 

目前完整路径将被使用。

示例场景:让我们pretende当前的URL是http://yoursite.com/pages/links.html再没有领先斜线当点击到http://yoursite.com/pages/path/to/page

将导航锚:相对相对于当前页

这是你在找什么? Check JSFiddle Demo

HTML

<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.example.com</a><br/> 
<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.site.com</a><br/> 
<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.bla.com</a><br/> 

JS

var l = document.getElementsByClassName("dyna").length; 

for (var i=0; l > 0; l--){ 
    var inner = document.getElementsByClassName("dyna")[i].innerHTML, 
     x = document.getElementsByClassName("dyna")[i].getAttribute('href'), 
     y = x.replace('[DYN]','http://'+inner); 

    document.getElementsByClassName("dyna")[i].setAttribute('href',y); 

    i++ 
} 

注:我用一个类来检索锚,但你可以看看标记名,如果你喜欢...