Как переписать URL с помощью Javascript, исключая некоторые - PullRequest
1 голос
/ 26 августа 2011

Я создал скрипт, который перезаписывает исходящие URL-адреса на странице, исключая любой URL-адрес, содержащий «http://www.mysite.com".». Вот скрипт, который есть:

<script type="text/javascript">
    onload = function () {
         for (var i = 0; i < document.links.length; i++) {
              if (document.links[i].href.indexOf("http://www.mysite.com") == -1) {
                 document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href
              }
         }
    }
</script>

Что я хочу сделать, это перечислить количество URL-адресов, которые нужно исключить. Каков наилучший способ сделать это?

Можно ли создать массив URL-адресов для исключения, а затем убедиться, что скрипт игнорирует все содержащиеся в этом массиве?

Если это так, как бы я построил оператор if для этого?

Заранее спасибо.

1 Ответ

0 голосов
/ 26 августа 2011

В jQuery вы можете сделать это с помощью метода inArray.

var excludeURLs = ["othersite.com", "anothersite.com"];

onload = function () {
     for (var i = 0; i < document.links.length; i++) {
          if (document.links[i].href.indexOf("http://www.mysite.com") == -1 &&
              $.inArray(location.host.replace('www.', ''), excludeURLs) != -1 ) {
              document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href;
          }
     }
}

Чтобы упростить задачу, я удалил www. с хостов.* Если вы не хотите использовать jQuery, вы можете сделать свою собственную функцию, такую ​​как this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...