В чем проблема?Нежелательное префикс гиперссылок Internet Explorer [Javascript]
Только в Internet Explorer (сюрприз) мой код выполнен неправильно. Короткое дерьмо кода ниже должно добавить действие «onclick» для каждого тега «a». Это работает чудесно, но посмотрите на пятую строку, он должен установить второй аргумент функции значению атрибута «href» тега привязки. В WebKit, Mozilla и т. Д. Все в порядке. Если мы установим «href», чтобы сказать «lorem_ipsum», то WebKit, Mozilla и т. Д. Вернет правильный результат и установите второй аргумент функции «lorem_ipsum», префиксы Internet Explorer «http://www.some.site/», поэтому мы видим, что «http://www.some.site/lorem_ipsum» представлен как второй аргумент. Internet Explorer неверен, поскольку это не атрибут «href» фактического значения тега привязки.
Anchors=Parent.getElementsByTagName("a");
Anchor=0;
while(Anchor<Anchors.length){
Anchors[Anchor].onclick=function(){
Plot("",this.getAttribute("href"));
return false;
};
Anchor++;
};
Как я могу обойти эту абсурдную проблему? Нужно ли мне удаляться от строки до финальной косой черты? Это похоже на длинный изгиб! Есть идеи?
Спасибо за быстрый ответ. Не могли бы вы объяснить свой ответ, чтобы я мог понять, почему это произошло и как вы его исправили. KR, Jay – Jay
location.href - это предопределенная переменная, содержащая URL-адрес текущего окна. Я беру атрибут HREF из ссылки, и если он содержит это значение, я подставляю его, чтобы отключить его. Просто. –
Я считаю, что это не сработает, если на странице указан тег BASE. Я считаю, что проблема, когда getAttribute (HREF) возвращает полный URL-адрес, была исправлена в режиме стандартов IE8. http://msdn.microsoft.com/en-us/library/ms535173%28VS.85%29.aspx# – EricLaw