Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Букмарклет который подсвечивает слово на странице... (https://javascript.ru/forum/dom-window/72029-bukmarklet-kotoryjj-podsvechivaet-slovo-na-stranice.html)

Exhaust_ 01.01.2018 13:33

Букмарклет который подсвечивает слово на странице...
 
Подскажите как сделать букмарклет, который подсвечивает фиксированный в коде адрес сайта на странице выдачи поисковика и перематывает страницу к первому посвеченному адресу?

И как соединить его вместе с этим букмарклетом, который добавляет нумерацию в выдачу Google:

javascript:(function(){ var style = document.createElement(%27style%27), styleContent = document.createTextNode(%27body{ counter-reset: resultat !important; } h3.r::before{ counter-increment: resultat !important; content: counter(resultat) \". \" !important; } %27); style.appendChild(styleContent ); var caput = document.getElementsByTagName(%27head%27); caput[0].appendChild(style); })();

рони 01.01.2018 14:57

Цитата:

Сообщение от Exhaust_
фиксированный в коде адрес сайта

можно пояснить, что это?

Exhaust_ 01.01.2018 15:04

Имеется в виду что в коде букмарклета прописано что искать на странице нужно фразу "google.ru"

рони 01.01.2018 15:22

Exhaust_,
не представляю, как это можно делать.
а если подсветить ссылку которая содержит искомое слово? (искать только на английском)

Exhaust_ 01.01.2018 15:28

Только на английском и везде одна и та же фраза "google.ru". По сути это букмарклет, которым нужно подсвечивать только текст "google.ru" на любой странице, где его применяют. Перемотка к подсвеченному тексту была бы полезной, но не обязательна.

рони 01.01.2018 15:38

Exhaust_,
может Ctrl + F

Exhaust_ 01.01.2018 15:43

по сути да, но мне поставили задачу добавить эту функцию к этому букмарклету:

javascript:(function(){ var style = document.createElement(%27style%27), styleContent = document.createTextNode(%27body{ counter-reset: resultat !important; } h3.r::before{ counter-increment: resultat !important; content: counter(resultat) \". \" !important; } %27); style.appendChild(styleContent ); var caput = document.getElementsByTagName(%27head%27); caput[0].appendChild(style); })();

рони 01.01.2018 16:25

Exhaust_,
если подсветить ссылку то можно так
h3.r [href*=google.ru] {background-color: rgba(240, 230, 140, 1); color: rgba(0, 0, 0, 1);} h3.r::before

Exhaust_ 01.01.2018 23:47

Это текст, чисто css-ом вряд ли можно что-то сделать

рони 02.01.2018 00:24

Exhaust_,
добавлено отсюда highlight-bookmarklet
javascript:(function(){ var style = document.createElement("style"), styleContent = document.createTextNode("body{ counter-reset: resultat !important; } h3.r::before{ counter-increment: resultat !important; content: counter(resultat) \". \" !important; } "); style.appendChild(styleContent ); var caput = document.getElementsByTagName("head"); caput[0].appendChild(style);var count=0, text, dv;text=document.querySelector("#lst-ib").value.trim();if(text==null || text.length==0)return;dv=document.defaultView;function searchWithinNode(node, te, len){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement("SPAN");spannode.style.backgroundColor="yellow";middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1&& node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], te, len);}}return skip;}window.status="Searching for '"+text+"'...";searchWithinNode(document.body, text.toUpperCase(), text.length);window.status="Found "+count+" occurrence"+(count==1?"":"s")+" of '"+text+"'.";})();


Часовой пояс GMT +3, время: 23:29.