Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№111-10-2016 20:19:30

Dorian
Забанен
 
Группа: Members
Зарегистрирован: 27-09-2016
Сообщений: 81
UA: Firefox 49.0

Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Предлагаю админам прекрепить эту тему. Потому что это тоже разнавидность скриптов.

Введение:
Bookmarklets (букмарклеты) - закладки с JavaScript кодом. Код выполняется в момент нажатия и может влиять на страницу, как обычный JavaScript. Код нужно вставлять в поле адреса (по сути работает, как тег <a href="javascript:alert('Hello!');">Hello!</a>).
Bookmarklets работают во всех современных браузерах.

Как создать bookmarklet?
1. Создать закладку.
2. Вставить в поле адреса код bookmarklet
Готово!

Стандартный шаблон bookmarklet:

Выделить код

Код:

javascript:void((function () {
    alert('test');
})());

На место alert('test'); подставьте стандартный код JavaScript. После нажатия на закладку - он выполнится.

Пример 1:
Делаем переадресацию с адреса вида: https://developer.mozilla.org/ru/Add-ons/WebExtensions
На адрес вида: https://developer.mozilla.org/en-US/Add-ons/WebExtensions.

скрытый текст

Выделить код

Код:

javascript:void((function () {
  window.location.href = document.location.href.replace(/^https?\:\/\/(www\.)?developer\.mozilla\.org\/[a-z]+(\-[a-z]+)?\//i, 'https://developer.mozilla.org/en-US/');
})());


Значение регулярного выражения можно увидеть тут /^https?://(www.)?developer.mozilla.org/[a-z]+(-[a-z]+)?//i

Пример 2:
Просто редирект (перенаправление) с текущего адреса на результат его проверки.
То есть:
Было - google.ru
Стало - https://www.similarweb.com/website/google.ru

скрытый текст

Выделить код

Код:

javascript: void((function() {
    window.open('https://www.similarweb.com/website/' + document.domain);
})());


document.domain - ваш текущий адрес

Пример 3:
Поиск в гугл выделенного на странице текста.
Выделить текст на странице. Нажать bookmarklet - откроется страница с результатами поиска в google.

скрытый текст

Выделить код

Код:

javascript:void((function () {
    function getSelectionText() {
        const activeEl = document.activeElement;
        const activeElTagName = activeEl.tagName.toLowerCase();

        if (activeEl && (activeElTagName === 'textarea' || activeElTagName === 'input')) {
            return activeEl.value.slice(activeEl.selectionStart, activeEl.selectionEnd);
        }

        return String(window.getSelection());

    }

    const url = 'https://www.google.ru/search?q=%s';
    window.location.href = url.replace(/\%s/, getSelectionText());
})());


Где взять:
1. http://marklets.com/ - сборник букмарклетов, код никто не проверяет, будьте осторожны!
2. Попросить на любом форуме в теме "скрипты" написать для вас, может кто-то поможет
3. Использовать google для поиска

Что за странный вид кода получается при вставке Bookmarklet в закладку?
Это URI Encoding в который кодируется JavaScript, потому что в адресе нельзя пробелы. Ну и чтобы проблем с кодировками не было.
Вы увидете код похожего вида:

Выделить код

Код:

javascript:void((function%20()%20{%20%20%20window.location.href%20=%20document.location.href.replace(/^https?\:\/\/(www\.)?developer\.mozilla\.org\/[a-z]+\-?[a-z]*\//i,%20'https://developer.mozilla.org/en-US/');%20})());

Существует 2 (два) стандартных способа вернуть этому коду оригинальный вид:
1. Вставить код в онлайн сервис: http://jsbeautifier.org/ или любой другой.
2. Использовать стандартные инструменты браузера (ctrl+shift+I) и там в разделе "дебаг" (отладка) есть кнопочка, которая делает код красивым.
Конечно вы можете найти любое дополнение или даже отдельную программу для красивого форматирования кода. Например дополнение Web Developer или любая IDE типа Eclipse или NetBeans умеет красиво форматировать. Как и множество плагинов для текстовых редакторов: Notepad++, Atom и других.

Оптимизаци:
Лишние пробелы и табуляция, длинные имена переменных, комментарии. Всё это занимает место и память. Некоторые куски кода меденные, хотя это неочевидно.
Оптимизатор Google Closure Compiler исправит всё за вас! Просто вставьте код в окошко и нажмите кнопочку! Это не единственный оптимизатор, их не мало, например: UglifyJS
Если видите код с переменными a, b, c - это не значит, что его кто-то так писал:

Выделить код

Код:

function hello(a){alert("Hello, "+a)}hello("New user");

Его пропустили через оптимизатор.

Обфускация (в качестве шутки, но знать об этом надо, если встретите)
Хотите скрыть ваш код от злобного соперника, который может скопировать и изменить ваш скрипт под себя? Тогда вам на выбор несколько сервисов заменяющих имена функций на последовательность символов, которые после компиляции выполняются как ваш код (по сути это он и есть):
http://www.jsfuck.com/
http://utf-8.jp/public/jjencode.html
http://utf-8.jp/public/aaencode.html
Хотите немного запутать сам текст? Тогда вам в помощь leet speak:
http://textinvert.ru/
http://www.sherv.net/weirdmaker.html
https://eeemo.net/

Где писать bookmarklets??? (инструменты разработки)
1. Самый простой и удобный инструмент: Scratchpad. Он встроен в Firefox, нажмите Shift+F4 для открытия. И откройте консоль, чтобы видеть ошибки: Ctrl+Shift+K. Только нужно помнить, что и Scratchpad не всегда ведет себе так, как поведет bookmarklet. :P
2. Множество сред разработки (IDE) типа Eclipse или NetBeans могут открывать результат работы JavaScript в браузере или даже имеют встроенный браузер.
3. Atom - текстовый редактор. По сути сам является браузером. Но для удобной разработки придется поискать плагины к нему.
4. GreaseMonkey - в нём тоже можно тестировать код, только нужно иметь ввиду, что возможности и привилегии кода в GreaseMonkey больше. Поэтому код работающий там может не сработать в bookmarklet. Для Chrome (Chromium) есть аналог: Tampermonkey

Как писать bookmarklets???
1. Способ 1: просто писать код. По некоторым сведениям до 2000 символов. (поэтому код пропускают через оптимизатор - чтобы больше кода поместилось)
2. Способ 2: написать код, который подгружает другой код из интернета и выполняет. Так снимается ограничение на 2000 символов.

Хаки bookmarklet (отличия от JavaScript)
1. Если функция вернет без void значение return '123', то возвращенное значение '123' откроется в текущей вкладке и будет помещено в <body>...</body> пустой страницы.

Результат выполнения кода: пустая страница с надписью "hello"

Выделить код

Код:

javascript:(function(){   return 'hello'; })();


2. Ещё варианты обёрток для кода bookmarklet:
Вариант 1. Вызвать void последним: javascript:console.log('hello');void(0);
Вариант 2. Не вызывать return вконце: javascript:(function(){ console.log('hello'); /* в конце нету return */ })();
3. Если вставить в адресную строку код: javascript:(function(){   return 'hello'; })();, то javascript: из него удалится само в целях безопасности. Но если ввести javascript: вручную, то bookmarklet сработает.

Проблемы:
1. Если на сайте включено Content Security Policy, то window.open(), window.location.href = document.URL и подобные функции для загрузки контента с других сайтов не сработают.
Причем такой хак со вставкой скрипта в страницу содержимое которой получаем через return - тоже не сработает. И при этом даже ошибок в консоль не пишет:

Выделить код

Код:

javascript: (function() {
    const s = document.createElement('script');
    s.innerHTML = "window.open('https://web.archive.org/web/' + location.href)";
    return s;
})();

Ссылки:
https://en.wikipedia.org/wiki/Bookmarklet - страница на Википедии
https://forum.mozilla-russia.org/viewto … =36530&p=1 - старая тема на этом форуме
https://support.mozilla.org/ru/kb/ispol … olneniya-z - описание bookmarlets на mozilla.org с парой ссылок на примеры
http://javascript.ru/unsorted/bookmarklet - гайд на javascript.ru
Гайд на habrahabr.ru: Часть 1, Часть 2, Часть 3

Отредактировано Dorian (21-10-2016 20:49:04)

Отсутствует

 

№211-10-2016 22:42:09

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 37.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Да вроде есть уже тема https://forum.mozilla-russia.org/viewtopic.php?id=36530

Что за странный вид кода получается при вставке Bookmarklet в закладку?
Это base64, а точнее URI Encoding в который кодируется JavaScript, потому что в адресе нельзя пробелы.

А при чём здесь base64?

Отсутствует

 

№311-10-2016 22:44:57

Dorian
Забанен
 
Группа: Members
Зарегистрирован: 27-09-2016
Сообщений: 81
UA: Firefox 49.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

rbfyec пишет

А при чём здесь base64?

Исправил.

rbfyec пишет

Да вроде есть уже тема https://forum.mozilla-russia.org/viewtopic.php?id=36530

Она не прикреплена и уже старая. Нету шапки темы. Хотя перенести что-то оттуда можно.

Отредактировано Dorian (11-10-2016 22:45:19)

Отсутствует

 

№421-10-2016 10:12:06

Dorian
Забанен
 
Группа: Members
Зарегистрирован: 27-09-2016
Сообщений: 81
UA: Firefox 49.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Пример 4:
Open site through web.archive.org bookmarklet
Открывает текущий сайт в веб архиве.

скрытый текст

Выделить код

Код:

javascript: void((function() {
    window.open('https://web.archive.org/web/' + document.location.href);
})());

Отредактировано Dorian (21-10-2016 20:58:53)

Отсутствует

 

№517-12-2016 12:47:33

bar22890
Участник
 
Группа: Members
Откуда: Латвия
Зарегистрирован: 12-05-2012
Сообщений: 89
UA: Firefox 50.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

:) [firefox] :)

Отредактировано bar22890 (08-01-2017 13:06:37)

Отсутствует

 

№601-01-2017 17:08:28

Machine79
Забанен
 
Группа: Members
Откуда: Санкт_петербург
Зарегистрирован: 29-08-2016
Сообщений: 4
UA: Chrome 55.0
Веб-сайт

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

bar22890 пишет

А кто устанавливал Tampermonkey на браузер Edge? У меня не устанавливаются скрипты, они просто скачиваются в папку, а не устанавливаются. Может их вручную нужно на Edge устанавливать? Не знаю куда написать, написал здесь...

Не много не по теме форум выбрал Здесь вроде только Mozilla ????

Отсутствует

 

№711-02-2017 13:54:48

Xant1k
Забанен
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 49
UA: Chrome 56.0
Веб-сайт

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

del

Отредактировано Xant1k (22-07-2021 19:44:36)

Отсутствует

 

№802-03-2017 06:24:58

Mishania
Забанен
 
Группа: Members
Откуда: Usa
Зарегистрирован: 22-10-2011
Сообщений: 357
UA: unknown 0.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Есть у меня буркмарклет Upload

Выделить код

Код:

javascript:(function(){var%20c='ujs_max_upload',w=window,d=(w.document.body%20instanceof%20HTMLFrameSetElement%3Fw.frames[0]:w).document,e=d.getElementById(c);if(e){e.del();return};e=d.createElement('div');e.id=c;e.setAttribute('style','display:none;position:fixed;right:0;bottom:0;width:auto;height:auto;border:1px%20solid%20%23555;padding:10px;text-align:left;z-index:99999;background-color:%23EEE;background:-o-skin(%5Cx22Window%20Skin%5Cx22);');e.add=function(lnk,frm){var%20d=this.ownerDocument,a=d.createElement('a');a.href=lnk.href;a.target='_blank';a.setAttribute('style','padding:0;margin:0;border:none;text-decoration:none;color:%2300C;font:14px%20Times%20New%20Roman;');a.appendChild(d.createTextNode(lnk.text));this.appendChild(a);var%20f=d.createElement('form');f.action=lnk.action;f.method='post';f.enctype='multipart/form-data';f.target='_blank';f.setAttribute('style','display:block;margin:5px;');var%20t=d.createElement('input');t.type='file';t.name=lnk.name;t.setAttribute('style','width:auto;height:auto;padding:1px;margin:0;border-color:%23AAA;font:12px%20Arial;');t.onchange=function(){this.nextSibling.disabled=!this.value};f.appendChild(t);var%20s=d.createElement('input');s.type='submit';s.value='Upload';s.disabled=true;s.setAttribute('style','width:auto;height:auto;padding:1px%204px;margin:0%200%200%202px;color:buttontext;font:12px%20Arial;');f.appendChild(s);if(frm)for(var%20name%20in%20frm){var%20h=d.createElement('input');h.type='hidden';h.name=name;h.value=frm[name];f.appendChild(h)};this.appendChild(f)};e.vis=function(v){this.style.display=v%3F'block':'none';return%20this.offsetHeight*this.offsetWidth};e.del=function(){this.vis(false);this.parentNode.removeChild(this)};var%20b=d.createElement('div');b.title='Close';b.setAttribute('style','display:block;float:right;height:18px;width:18px;padding:0;margin:-5px;border:none;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAZElEQVR42mNgGNyAGQixsVGU/AdCXjCbHczmxKaMFywlAlWiw6DAwIZNmQhYGqJEDWoqFiAGVmKKTwk73CRJ/Ep0GIyhbsPpO4hbIG4TwKaMk0EZ7hYBBk1cvmNDEmbDrmSwAADE8h10+qICXwAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII=");background:-o-skin(%5Cx22Caption%20Close%20Button%20Skin%5Cx22);cursor:pointer');b.onclick=function(){this.parentNode.del()};e.appendChild(b);e.add({href:'http://fastpic.ru',text:'FastPic.ru',action:'http://fastpic.ru/uploadmulti',name:'file[]'},{uploading:'1'});e.add({href:'http://rghost.ru/',text:'Rghost.ru',action:'http://kaon.rghost.ru/files',name:'file'},{'data-max-file-size':'52428800'});d.documentElement.appendChild(e);e.vis(true)})();

Отправляет файлы на fastpic и rghost. Но теперь с rghost он не справляется. Почините пожалуйста, или предложите что-то альтернативное.

Отсутствует

 

№923-03-2017 13:17:09

bugmenot
Участник
 
Группа: Members
Зарегистрирован: 29-01-2012
Сообщений: 35
UA: Firefox 45.0
Веб-сайт

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Возможно ли получить доступ к gBrowser из bookmarklet?

Отсутствует

 

№1025-04-2020 09:24:55

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 5543
UA: Firefox 68.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

У меня в Firefox есть несколько букмарклетов для перевода текста и страниц. Но когда я захожу на сайт addons.mozilla.org и пытаюсь перевести какое-нибудь английское описание расширения — ни один из букмарклетов не срабатывает. Как это обойти?

Отсутствует

 

№1125-04-2020 12:56:09

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 75.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Пандёнок
думаю, должно помочь такое (в user.js):

Выделить код

Код:

/* 2662: disable webextension restrictions on certain mozilla domains (см. 4503) [FF60+] ***/
user_pref("extensions.webextensions.restrictedDomains", "");
 
/* 4503: disable mozAddonManager Web API [FF57+]
 * [NOTE] На FF60+ совместно с (2662) заставит работать расширения на AMO и т.п.
 * привилегированных страницах. Например переводчики. В итоге функционал удаления,
 * поломается и кнопка установки на AMO всегда будет в состоянии "Установить...". ***/
user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDEN PREF]

Отредактировано Inko7 (25-04-2020 12:56:50)

Отсутствует

 

№1230-04-2020 06:11:59

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 68.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Пандёнок
Некоторые работают. Перевод выделенного...на вскидку:

скрытый текст

Выделить код

Код:

javascript:var t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection &&document.selection.createRange&&document.selection.createRange().text));var e=(document.charset||document.characterSet);if(t!=''){window.open('http://translate.google.com/translate_t?text='+t+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);}else{window.open('http://translate.google.com/translate?u='+escape(location.href)+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);};void 0;
Выделить код

Код:

javascript:(function(){ var text = encodeURI(document.getSelection()); if (!text.length) { text = prompt('%D0%A7%D1%82%D0%BE %D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B5%D1%81%D1%82%D0%B8') } var url = 'https://translate.yandex.ru/?text=' + text + ' &sl=es&tl=pt#';%20window.open(url,'trans','left=0,top=90,width=1080,height=400,toolbar=0,location=0,resizable=1');%20})();

Отсутствует

 

№1306-01-2021 21:26:52

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 5543
UA: Firefox 78.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Inko7
oleg.sgh
Странно, сейчас на [firefox] 78.6.0esr (64-битный) работает всё, что угодно, на AMO. При том, что в user.js и в about:config я ничего не менял, функционал AMO не поломан.
Но вылезла другая проблема: при попытке переводе всей страницы букмарклетом для Переводчика Google перевода страницы не происходит, пока не нажму вначале «Оригинал», потом «Перевод».
Пробовал разные букмарклеты:

Выделить код

Код:

javascript:var%20t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection%20&&document.selection.createRange&&document.selection.createRange().text));var%20e=(document.charset||document.characterSet);if(t!=''){window.open('http://translate.google.com/translate_t?text='+t+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);}else{window.open('http://translate.google.com/translate?u='+escape(location.href)+'&hl=ru&langpair=auto|ru&tbb=1&ie='+e);};void 0;

(который должен при невыделенном тексте переводить всю страницу, а при выделенном — этот текст)

Выделить код

Код:

javascript:q=(document.location.href);void(open('http://translate.google.com/translate?u='+escape(q)));
Выделить код

Код:

javascript:q=(document.location.href);void(open('http://translate.google.com/translate?u='+escape(q),'_self'));

(моb самодельныt, для перевода только всей страницы)
— результат одинаковый.

Добавлено 06-01-2021 21:29:44
При этом расширения для перевода, например, To Google Translate — работают с первой попытки.

Добавлено 06-01-2021 21:44:59
Вопрос решён!!! Всё проще, чем я думал: достаточно вместо адреса

http://translate.google.com/translate?u=

использовать

http://translate.google.com/translate?sl=auto&tl=ru&u=

или

https://translate.google.com/translate?sl=auto&tl=ru&u=

Соответственно, как минимум не нужен элемент

Выделить код

Код:

&langpair=auto|ru

Обновил букмарклеты для Переводчика Google в FAQ в соответствии с тем, как это работает из расширения To Google Translate.

Отредактировано Пандёнок (06-01-2021 22:56:52)

Отсутствует

 

№1431-01-2021 22:16:10

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Букмарклет для копирования текущего URL в виде BB-кода для сообщения форума. После вызова букмарклета появляется окошко с выделенной ссылкой в виде BB-кода, которую необходимо самостоятельно скопировать. Чтобы закрыть окошко достаточно нажать кнопку Enter.
Использование буфера обмена обошел стороной, так как копирование в него посредством скрипта проблематично из-за ограничений.

Букмарклет

Выделить код

Код:

javascript:{prompt('URL:',`[url=${document.location}]${document.title}[/url]`);}void(0);

Получим BB-код в виде:

Выделить код

Код:

[url=https://forum.mozilla-russia.org/viewtopic.php?pid=780539]Bookmarklets (букмарклеты) - закладки с JavaScript кодом | Форум Mozilla Россия[/url]

Отредактировано zzzephire (02-02-2021 00:41:14)

Отсутствует

 

№1501-02-2021 02:06:30

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Поиск текста по текущему домену, также ищется выделенный текст. Если текст не был выделен, то будет выдан запрос.
В выделенном тексте, а также в запросе, введенном вручную, автоматически убираются лишние пробелы. Например, строка "    привет     мир     " будет в итоге = "привет мир"

DuckDuckGo

Выделить код

Код:

javascript:{q=ClearSpace(document.getSelection().toString());if(!q)q=ClearSpace(prompt('Search for:'));if(q){const qe=encodeURIComponent(`site:${document.domain} ${q}`);window.open(`https://duckduckgo.com/?ia=web&q=${qe}`)}}function ClearSpace(src){return src.trim().replace(/\s{2,}/g,' ')}void(0);


Google

Выделить код

Код:

javascript:{q=ClearSpace(document.getSelection().toString());if(!q)q=ClearSpace(prompt('Search for:'));if(q){const qe=encodeURIComponent(`site:${document.domain} ${q}`);window.open(`https://www.google.com/search?q=${qe}`)}}function ClearSpace(src){return src.trim().replace(/\s{2,}/g,' ')}void(0);


Yandex

Выделить код

Код:

javascript:{q=ClearSpace(document.getSelection().toString());if(!q)q=ClearSpace(prompt('Search for:'));if(q){const qe=encodeURIComponent(`site:${document.domain} ${q}`);window.open(`https://yandex.ru/search/?text=${qe}`)}}function ClearSpace(src){return src.trim().replace(/\s{2,}/g,' ')}void(0);

Отредактировано zzzephire (02-02-2021 00:14:20)

Отсутствует

 

№1601-02-2021 02:32:37

vending_machine
Участник
 
Группа: Members
Зарегистрирован: 10-01-2020
Сообщений: 549
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

zzzephire пишет

Поиск текста по текущему домену

Выделить код

Код:

javascript:(function(){const q=prompt('Query:','what?');window.open(`https://duckduckgo.com/?ia=web&q=site:${document.domain} ${q}`);})()

А можно такое же только с перламутровыми пуговицами через Гугол, а то КимКиДук прямо не находит этой фразы Поиск текста по текущему домену  в этой теме  Bookmarklets (букмарклеты) - закладки с JavaScript кодом :sick:

Отсутствует

 

№1701-02-2021 03:06:43

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

vending_machine пишет

А можно такое же только с перламутровыми пуговицами через Гугол

Дополнил

vending_machine пишет

а то КимКиДук прямо не находит этой фразы Поиск текста по текущему домену  в этой теме  Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Чтобы КимКиДук нашел что-то, это что-то должно быть проидексировано поисковиками, а для этого нужно время

Отсутствует

 

№1801-02-2021 05:13:57

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 78.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

zzzephire
Если текст выделен, то ищет его.

скрытый текст

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("%D0%9D%D0%B0%D0%B9%D1%82%D0%B8%20%D0%BD%D0%B0%20%D1%81%D0%B0%D0%B9%D1%82%D0%B5").replace(/\s\+/g,"+");if(q!=null)window.open("https://yandex.ru/search/?text="+q.replace(/\s+/g,"+")+"+site:"+location.hostname);void(0)

Отсутствует

 

№1901-02-2021 14:18:35

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

oleg.sgh
Спасибо. Доработал, обновил пост

Отредактировано zzzephire (02-02-2021 00:42:30)

Отсутствует

 

№2001-02-2021 18:01:42

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 78.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

Поиск выделенного на странице в поисковых системах. Если ничего не выделено, то откроется окно ввода.
Меняя поисковый адрес и имя в окне, можно сделать желаемый поиск.

скрытый текст
Яндекс карты

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Яндекс карты").replace(/\s\+/g,"+");if(q!=null)window.open("https://yandex.ru/maps/?text="+q.replace(/\s+/g,"+"));void(0)

Гугл карты

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Гугл карты").replace(/\s\+/g,"+");if(q!=null)window.open("https://www.google.ru/maps?q="+q.replace(/\s+/g,"+"));void(0)

Ютуб

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Ютуб").replace(/\s\+/g,"+");if(q!=null)window.open("https://www.youtube.com/results?search_query="+q.replace(/\s+/g,"+"));void(0)


В  название самого букмарклета можно добавить эмоджи (символы).
.
2021-02-01_190313481656365bb85de1.png

Отредактировано oleg.sgh (01-02-2021 18:39:11)

Отсутствует

 

№2111-02-2021 09:02:57

ionessi
Участник
 
Группа: Members
Зарегистрирован: 11-02-2021
Сообщений: 1
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

oleg.sgh пишет

Поиск выделенного на странице в поисковых системах. Если ничего не выделено, то откроется окно ввода.
Меняя поисковый адрес и имя в окне, можно сделать желаемый поиск.

скрытый текст
Яндекс карты

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Яндекс карты").replace(/\s\+/g,"+");if(q!=null)window.open("https://yandex.ru/maps/?text="+q.replace(/\s+/g,"+"));void(0)

Гугл карты

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Гугл карты").replace(/\s\+/g,"+");if(q!=null)window.open("https://www.google.ru/maps?q="+q.replace(/\s+/g,"+"));void(0)

Ютуб

Выделить код

Код:

javascript:q=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt("Ютуб").replace(/\s\+/g,"+");if(q!=null)window.open("https://www.youtube.com/results?search_query="+q.replace(/\s+/g,"+"));void(0)


В  название самого букмарклета можно добавить эмоджи (символы).
.
https://i.comss.pics/2021/02/01/2021-02 … b85de1.png

Перестали работать все букмарклеты с перенаправлением на следующую вкладку. Можно что-нибудь с этим сделать?
FOTO1.jpg

Отредактировано ionessi (11-02-2021 09:16:26)

Отсутствует

 

№2211-02-2021 12:48:47

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 85.0

Re: Bookmarklets (букмарклеты) - закладки с JavaScript кодом

ionessi
Отключить блокировку всплывающих окон. У меня 78-я версия и я ещё не сталкивался с этой проблемой.
.
Тема https://forum.mozilla-russia.org/viewtopic.php?id=76310

Отредактировано oleg.sgh (11-02-2021 13:01:18)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]