2013-03-25 2 views
-2

Это происходит как в Firefox, так и в Chrome. У меня есть совершенно обычная ссылка, например так:Как предотвратить автозаполнение ссылок?

<a href='somewhere'>this is my link</a> 

Но, браузер преобразовывает это в абсолютную ссылку, например:

<a href='http://www.example.com/dir/page/somewhere'>this is my link</a> 

Как предотвратить браузеры от делать это? Это вызывает проблемы, потому что у меня есть javascript на странице, который зависит от атрибута href, не имеющего префикс http: //, и когда браузеры это делают, это нарушает мой код. Итак, есть ли способ предотвратить это? Или, есть ли способ получить доступ к исходному атрибуту href, как это было до того, как браузер изменил его?

Я не использую jquery. У меня есть прототип, но я предпочел бы знать, как это сделать в чистом javascript.

+0

Почему бы не изменить ваш скрипт просто удалить http: // или https: // если он присутствует? –

+0

Я не могу воспроизвести это: http://jsfiddle.net/Btnbs/show/ (источник исходного кода показывает исходную ссылку) - с помощью Chrome latest. –

+0

@ DannyBeckett Я пошел к этому jsfiddle, и, конечно же, «alert (document.getElementsByTagName ('a') [0] .href)' создает полную ссылку, а не только «где-то», как хром, так и firefox. – Benubird

ответ

2

Массив атрибутов на объекте DOM имеет действительные, исходные значения для атрибутов, как размещены на странице HTML-теги .. поэтому

console.log(object.attributes.href.value) 
or 
console.log(object.getAttribute('href') 

ли это сделать ...

+1

Dammit @ DannyBeckett избил меня, чтобы я действительно научился набирать быстрее :) ... хорошо на ya Danny – Radiotrib

+0

Ха-ха, без проблем. По крайней мере, сейчас есть ответ! + 1'd;) –

+0

эх хех .. так по крайней мере ответ был верным и на вопрос был дан ответ ... жаль, что он не был признан таковым :) – Radiotrib

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