Я немного бью головой о стену, поскольку знаю, что ответ прост, но он ускользает от меня. У меня есть некоторый опыт программирования, но в основном с PHP. Я натолкнулся на случай, когда сайту, над которым я работаю, нужен скрипт, который автоматически обнаруживает внешние ссылки и открывает их в новом окне. Я нашел 2 отдельных кода javascript, и они прекрасно работают, но проблема в том, что существует тег привязки, такой как href = "# B", который код считает внешней ссылкой. Я провел значительное исследование и попытался выполнить функции indexOf и endWith (), но ни одна из них не игнорирует ссылку с #letter (т.е. #B).
Было бы здорово, если бы я мог получить дополнительную помощь или указатели. Посмотрите код, который я нашел в сети:
assigntarget:function(){
var rexcludedomains=new RegExp(this.excludedomains.join("|"), "i")
var all_links=document.getElementsByTagName("a")
if (this.mode=="auto" || (this.mode=="manual" && this.togglebox.checked)){
for (var i=0; i<=(all_links.length-1); i++){
if (all_links[i].hostname.search(rexcludedomains)==-1 && all_links[i].href.indexOf("http:")!=-1)
all_links[i].target=ddwindowlinks.linktarget
}
}
else{
for (var i=0; i<=(all_links.length-1); i++)
all_links[i].target=""
}
Теперь я попытался использовать индекс, как я упоминал выше, чтобы найти, существует ли # в ссылке, как показано ниже:
for (var i=0; i<=(all_links.length-1); i++){
if (all_links[i].hostname.search(rexcludedomains)==-1 && all_links[i].href.indexOf("#") ==-1 && all_links[i].href.indexOf("http://") !=-1)
all_links[i].target=ddwindowlinks.linktarget
Спасибо за любую помощь или потехники.