2014-12-05 2 views
2

У меня есть HTML ссылка ссылочный что-то вроде:Javascript для динамического URL контента

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

Теперь я хочу, чтобы добавить теги JavaScript, чтобы сделать www.example.com URL, чтобы быть динамичным. поэтому он всегда будет получать в качестве

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

Может кто-нибудь пожалуйста, совет? TQ

+0

Не у вас есть бэкэнд? Каковы динамические средства в ваших условиях? –

+1

Это то, что вы хотите 'www.example.com'? Будет интерпретироваться браузером с текущим именем хоста, протоколом, портом. – dfsq

+0

@dfsq да, и я хочу, чтобы скрипт получил любой домен из URL-адреса, который посетил пользователь. Значит, если пользователь заходит на сайт1.com. он перейдет к «site1.com/usr/page.aspx?pgid=1» – Ren

ответ

0

Использование 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. 

Чтобы получить доменное имя example.com из множества возможных субдоменов sub1.example.com sub2.example.com sub3.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('.'); 
0

Атрибут href может быть относительным путь:

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

Ссылка будет захватить текущий протокол, хост и порт, и добавить то, что будет дальше.

Пример сценария: давайте притвориться, что текущий URL-адрес: 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

: относительная как в относительно текущей страницы

1

Это то, что вы ищете? 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++ 
} 

Примечание: Я использовал класс для извлечения якоря, но вы можете посмотреть на тэгу а если вы предпочитаете ...

Смежные вопросы