<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6902</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6902&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово».]]></description>
		<lastBuildDate>Fri, 16 Mar 2012 07:34:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57894#p57894</link>
			<description><![CDATA[<p>Как вам помочь пока еще не думал.. но у меня все найденные ссылки вываливаются в список - щелкай не хочу любую.. при небольшой доработке их можно разбивать постранично и т.д. </p><p>имхо, делаю всегда общий код модулями (кусками) для удобства внесения изменений после обкатки...</p><p>ВСЕ - УРА, я иду в отпуск, но обещаю заглядывать сюда иногда!!!</p>]]></description>
			<author><![CDATA[null@example.com (stir)]]></author>
			<pubDate>Fri, 16 Mar 2012 07:34:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57894#p57894</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57892#p57892</link>
			<description><![CDATA[<p>2<strong>JSman</strong><br />Годится!</p><p>А тут, видите ли, как-то незаметно, сама собой новая назрела насущность: открытие найденной ссылки (это может быть первая же ссылка) в том же окне — не в новом.</p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Fri, 16 Mar 2012 06:36:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57892#p57892</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57660#p57660</link>
			<description><![CDATA[<p>Ну, можно и такой вариант, более короткий:<br /></p><div class="codebox"><pre><code>javascript:for(var i=0,lns=document.links,l=lns.length,e;i&lt;l;i++)if(/script-coding/.test(e=lns[i].href))open(e);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (JSmаn)]]></author>
			<pubDate>Fri, 09 Mar 2012 12:56:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57660#p57660</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57650#p57650</link>
			<description><![CDATA[<p>Да дык с Вашей подсказкой и вдумываться специально не пришлось <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br />Спасибо всем!</p><p><img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Эх, Витьку жалко — спилс<strong>я</strong>!</p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Thu, 08 Mar 2012 14:54:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57650#p57650</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57649#p57649</link>
			<description><![CDATA[<div class="quotebox"><cite>stir пишет:</cite><blockquote><p>linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)</p><p>смотрю уже на это 30 минут, может я чего не знаю.. сдаюсь! linkIsSafe - не знаю что это такое.</p></blockquote></div><p>Дык это функция которая была в изначальном скрипте, но потом почему то исчезла. Rumata написал правильный код, но не разжевал. Поэтому DD недумая склеил.</p><p>DD повдумчивей попробуйте.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Thu, 08 Mar 2012 11:59:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57649#p57649</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57648#p57648</link>
			<description><![CDATA[<p>о!<br /></p><div class="codebox"><pre><code>javascript: (function () { var i, l = document.links; for (i = 0; i &lt; l.length; ++i) {if (l[i].href.match(/http.*script-coding.*/)) {window.open(l[i].href);}}})();</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Thu, 08 Mar 2012 11:52:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57648#p57648</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57622#p57622</link>
			<description><![CDATA[<p>Ого! Тут мне корму на три года <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br />На ту же тему, — с той разницей, что окрасит найденные ссылки со словом &quot;coding&quot; в желтый цвет:</p><div class="codebox"><pre><code>javascript:function hiliteUrls(wndw){for(pf8s=0;pf8s&lt;wndw.document.links.length;pf8s++){void(lnk3=wndw.document.links[pf8s]);if(lnk3.href.indexOf(answ1)!=-1){void(lnk3.style.backgroundColor=&#039;yellow&#039;);tot2++;}}}var answ1=&quot;coding&quot;;if(answ1!=null&amp;&amp;answ1!=&#039;&#039;){var tot2=0;void(frms=window.frames);if(frms.length==0){hiliteUrls(window);}else{for(iQA=0;iQA&lt;frms.length;iQA++){hiliteUrls(frms[iQA]);}}alert(tot2+&#039; link(s) found containing \&#039;&#039;+answ1+&#039;\&#039;.&#039;);}</code></pre></div><p>То ж:</p><div class="codebox"><pre><code>
javascript: function hiliteUrls(wndw) {
    for (pf8s = 0; pf8s &lt; wndw.document.links.length; pf8s++) {
        void(lnk3 = wndw.document.links[pf8s]);
        if (lnk3.href.indexOf(answ1) != -1) {
            void(lnk3.style.backgroundColor = &#039;yellow&#039;);
            tot2++;
        }
    }
}
var answ1 = &quot;coding&quot;;
if (answ1 != null &amp;&amp; answ1 != &#039;&#039;) {
    var tot2 = 0;
    void(frms = window.frames);
    if (frms.length == 0) {
        hiliteUrls(window);
    } else {
        for (iQA = 0; iQA &lt; frms.length; iQA++) {
            hiliteUrls(frms[iQA]);
        }
    }
    alert(tot2 + &#039; link(s) found containing \&#039;&#039; + answ1 + &#039;\&#039;.&#039;);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Wed, 07 Mar 2012 22:40:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57622#p57622</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57583#p57583</link>
			<description><![CDATA[<p>вот набросал как вариант (не полный, проверить тоже некогда):</p><div class="codebox"><pre><code> var dl = new array(); //содержит все ссылки
var sea = &#039;script-coding&#039;; //искомое слово, его можно вводить с помощью диалога в форме, если подумать над кодом...

// тут должна быть часть кода, которая вносит ссылки в массив dl 

//наша функция для отделения нужных ссылок
function xxx (dl, sea){
var n= 0;
var re=&#039;^&#039;+&#039;*&#039;+sea+&#039;*&#039;+&#039;$&#039;;
//var linkIsSafe = new array();// если надо, как вариант 2
var s=&#039;&#039;;//если выбрали 2 вариант, тогда эту переменную не используйте. она для 1 варианта.

for (i = 0; i &lt; dl.length; ++i) {
     if (!RegExp(re).test(dl[i])){
    //linkIsSafe[n]=dl[i];// если выбрали вариант 2
    ++n;
     s += dl[i].link(dl[i])+ &quot;&lt;br&gt;&quot;;//по умолчанию как вариант 1
    }
 }

    if (n==0) alert(&#039;no links&#039;);
    else {
        if (confirm(&#039;Показать найденные ссылки, &#039; + n+ &#039; шт.?&#039;)) 
        document.write(s);//здесь можно как угодно вывести данные, приведено для 1 варианта
    }
}</code></pre></div><p>незнаю как опера сможет сохранять найденное в массив.. поэтому приведена заключительная часть кода.</p>]]></description>
			<author><![CDATA[null@example.com (stir)]]></author>
			<pubDate>Wed, 07 Mar 2012 04:14:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57583#p57583</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57582#p57582</link>
			<description><![CDATA[<p>в приведенном ниже варианте можно значение переменной сохранить в файл, заменив символ перехода на новую строку...<br />&quot;&lt;br&gt;&quot; на &#039;\n&#039;<br />Вот модуль записи данных:<br /></p><div class="codebox"><pre><code>//запись данных в файл
function write2(xname,s){
var fso2 = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;); 
    var f2 = fso2.CreateTextFile(xname, 1, false);
    f2.Close();
    var f2 = fso2.OpenTextFile(xname, 2, true);
    f2.WriteLine(s);
    f2.Close();    
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stir)]]></author>
			<pubDate>Wed, 07 Mar 2012 03:24:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57582#p57582</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57581#p57581</link>
			<description><![CDATA[<div class="codebox"><pre><code>function () {
    var n_to_open, dl, dll, i;
 
    function linkIsValid(u) {
        return u.indexOf(&#039;script-coding&#039;) != -1;
    }
    n_to_open = 0;
    dl = document.links;
    dll = dl.length;
    for (i = 0; i &lt; dll; ++i) {
        if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href))++n_to_open;
    }
    if (!n_to_open) alert(&#039;no links&#039;);
    else {
        if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)) window.open(dl[i].href);
    }
}</code></pre></div><p>Функциям обычно необходимы переменные (переданные их значения) в скобках для исполнения функции.. здесь их нет, ну и т.д.<br />Работоспособность скрипта не проверил из-за отсутствия понимания странного для меня условия в скрипте, <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br />var n_to_open, dl, dll, i - можно не перечислять, а сразу присваивать значения .. Для универсальности скрипта можно искомую текстовую фразу передавать как переменную в функцию.<br />Условия невыполнены:<br /> if (условие) оператор1<br />a &amp;&amp; b это Логическое AND, а эталона для сравнения я не увидел..<br />Например всем известная функция правильно написана:<br /></p><div class="codebox"><pre><code>function validate(obj, low, high) {
    if ((obj.value &lt; low) || (obj.value &gt; high))
    alert(&quot;Введено недопустимое значение!&quot;)
}</code></pre></div><p>linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)</p><p>смотрю уже на это 30 минут, может я чего не знаю.. сдаюсь! linkIsSafe - не знаю что это такое.</p><p>Может логику скрипта изменить?<br />Например:<br />Ищем то что удовлетворяет условию и записываем в массив, если ничего не нашли - выводим сообщение об этом, иначе создаем на странице из значений массивов ссылки (вывод построчно денлаем). Тогда код немного изменится. Поиск лучше сделать из регулярки, имхо.</p>]]></description>
			<author><![CDATA[null@example.com (stir)]]></author>
			<pubDate>Wed, 07 Mar 2012 02:20:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57581#p57581</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57580#p57580</link>
			<description><![CDATA[<p>Я его правильно собрал? —</p><div class="codebox"><pre><code>javascript: (function () {
    var n_to_open, dl, dll, i;

    function linkIsValid(u) {
        return u.indexOf(&#039;script-coding&#039;) != -1;
    }
    n_to_open = 0;
    dl = document.links;
    dll = dl.length;
    for (i = 0; i &lt; dll; ++i) {
        if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href))++n_to_open;
    }
    if (!n_to_open) alert(&#039;no links&#039;);
    else {
        if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)) window.open(dl[i].href);
    }
})();</code></pre></div><p>То бишь:</p><div class="codebox"><pre><code>javascript: (function () {     var n_to_open, dl, dll, i;      function linkIsValid(u) {         return u.indexOf(&#039;script-coding&#039;) != -1;     }     n_to_open = 0;     dl = document.links;     dll = dl.length;     for (i = 0; i &lt; dll; ++i) {         if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href))++n_to_open;     }     if (!n_to_open) alert(&#039;no links&#039;);     else {         if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)) window.open(dl[i].href);     } })();</code></pre></div><p>А то не фурычит.</p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Tue, 06 Mar 2012 21:46:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57580#p57580</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57579#p57579</link>
			<description><![CDATA[<div class="codebox"><pre><code>
...
    function linkIsValid(u) {
        return u.indexOf(&#039;script-coding&#039;) != -1;
    }
...
        if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href))++n_to_open;
...
        if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)&amp;&amp;linkIsValid(dl[i].href)) window.open(dl[i].href);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 06 Mar 2012 20:47:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57579#p57579</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57578#p57578</link>
			<description><![CDATA[<p>Прошу:</p><p><strong>script-coding</strong></p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Tue, 06 Mar 2012 20:20:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57578#p57578</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57569#p57569</link>
			<description><![CDATA[<div class="quotebox"><cite>DD пишет:</cite><blockquote><p>ссылка с каким-либо определённым текстом</p></blockquote></div><p>критерий &quot;определенности&quot; текста?</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 06 Mar 2012 14:11:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57569#p57569</guid>
		</item>
		<item>
			<title><![CDATA[JS+bookmarklet+Opera: Открыть ссылку, содержащую определенное слово]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57567#p57567</link>
			<description><![CDATA[<div class="codebox"><pre><code>javascript:(function(){var n_to_open,dl,dll,i; function linkIsSafe(u) { if (u.substr(0,7)==&#039;mailto:&#039;) return false; if (u.substr(0,11)==&#039;javascript:&#039;) return false; return true; } n_to_open = 0; dl = document.links; dll = dl.length; for(i = 0; i &lt; dll; ++i) { if (linkIsSafe(dl[i].href)) ++n_to_open; } if (!n_to_open) alert (&#039;no links&#039;); else { if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)) window.open(dl[i].href); } })();</code></pre></div><p>Приведенный букмарклет, выведя окно подтверждения, откроет все ссылки страницы в новом окне.<br />Он же:</p><div class="codebox"><pre><code>javascript: (function () {
    var n_to_open, dl, dll, i;

    function linkIsSafe(u) {
        if (u.substr(0, 7) == &#039;mailto:&#039;) return false;
        if (u.substr(0, 11) == &#039;javascript:&#039;) return false;
        return true;
    }
    n_to_open = 0;
    dl = document.links;
    dll = dl.length;
    for (i = 0; i &lt; dll; ++i) {
        if (linkIsSafe(dl[i].href))++n_to_open;
    }
    if (!n_to_open) alert(&#039;no links&#039;);
    else {
        if (confirm(&#039;Open &#039; + n_to_open + &#039; links in new windows?&#039;)) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)) window.open(dl[i].href);
    }
})();</code></pre></div><p>Обуревает блажь изменить его таким образом, чтобы открывалась ссылка с каким-либо определённым текстом. Прошу в этом посильно помочь.</p>]]></description>
			<author><![CDATA[null@example.com (DD)]]></author>
			<pubDate>Tue, 06 Mar 2012 13:23:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57567#p57567</guid>
		</item>
	</channel>
</rss>
