Показать сообщение отдельно
  #1 (permalink)  
Старый 28.05.2012, 12:14
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Открыть ссылку, содержащую определённый текст, JS + bookmarklet + Opera
Приведённый букмарклет, если вставить его в адресную строку Оперы и нажать ENTER, откроет ссылку с текстом javascript.ru/manual в новом окне:

javascript: (function () {
   var n_to_open, dl, dll, i;

   function linkIsSafe(u) {
       if (u.substr(0, 7) == 'mailto:') return false;
       if (u.substr(0, 11) == 'javascript:') return false;
       return true;
   }
   function linkIsValid(u) {
       return u.indexOf('javascript.ru/manual') != -1;
   }
   n_to_open = 0;
   dl = document.links;
   dll = dl.length;
   for (i = 0; i < dll; ++i) {
       if (linkIsSafe(dl[i].href)&&linkIsValid(dl[i].href))++n_to_open;
   }
   if (!n_to_open) alert('no links');
   else {
       if (confirm) for (i = 0; i < dll; ++i) if (linkIsSafe(dl[i].href)&&linkIsValid(dl[i].href)) window.open(dl[i].href);
   }
})();


Имеется необходимость изменить его так, чтобы первая же ссылка, соответствующая условию, открывалась бы в том же окне, а прочие игнорировались.
Прошу в этом посильно помочь.

Последний раз редактировалось hdma, 28.05.2012 в 12:18.
Ответить с цитированием