Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Bookmarklets | Favelets | Букмарклеты

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Открыть новую тему     Написать ответ в эту тему

TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bookmarklets / Favelets / Букмарклеты / Закладурки
 
Работают в любом* браузере, поддерживающем JavaScript, и, соответственно, в любой* ОС.
* хотя, конечно, всегда возможны исключения, связанные с "заточенностью" кода под что-то конкретное.. =)

В этой теме предлагается собирать и обсуждать эти маленькие "полезняшки" для браузеров.
Особо приветствуется конструктивная критика предлагаемых закладурок и варианты их доработки.
 
Убедительная просьба: публикуя код закладурки, пожалуйста, указывайте ссылку на источник!  


Микро-FAQ:  
Что это такое и зачем оно надо? + там же ссылки на некоторые ресурсы по теме
Как ставить и как применять закладурки?
 
Документация:
Букмарклеты и правила их написания + читаем/помним про ограничения! (пост)
Структурированная информация по языку JavaScript
MSDN: Справочник по языку JavaScript
JavaScript language advanced Tips & Tricks
JavaScript FAQ + там же есть и про букмарклеты
Вопросы и ответы по букмарклетам на StackOverflow.com (En)
 
Сделай сам:
Bookmarklet Combiner - он-лайн конструктор + публикация ваших "творений"
JavaScript Compressor - он-лайн "упаковщик" для сохранения JS в одну строку + кодировка в Base62 (пост)
Script to bookmarklet converter - ещё один он-лайн "упаковщик", попроще (пост)
HTML Compressor - он-лайн "упаковщик" HTML/CSS/JavaScript/PHP (пост)  
Convert bookmarklet to Chrome extension (пост)
 
Ресурсы по теме:
En: bookmarklets.comsquarefree.comphilburns.comoperawiki.infomarklets.comabout.com
Ru: webmascon.comnitro.rularge.rulexi.ucoz.rumichurin.net03www.subookmarklets01
Ru-Board: здесь и здесь
 

// текущий бэкап шапки..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 12:00 15-02-2014 | Исправлено: Maz, 14:14 02-11-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
Почему у меня тогда 7835?
а потому что у лиса ещё какая-то жопа есть с этим 1 января - введи в консоли:
Код:
new Date('1,1,2000')
покажет 31.12.1999, причём, пофиг даже если год первым поставить (2000,1,1) - одинаково, "прошлый век" кажет..)
отсюда, понятно, все вычисления сдвинутся и по мнению "лося" ты ещё "не дожил до полудня" и вообще всё это происходит "вчера"..  
 
а вот в хроме всё честно, новый год на месте и с правильной тайм-зоной:
   
 
вопчем, тут как с вилларибой и виллабаджей - пока "лоси" ещё ёлку домой тащат, "хромые" уже набухались и празднуют вовсю..  
 
Добавлено:
JohnD78
Цитата:
Да, работает. Вы нашли причину.
так-то "матчасть" намекает на решение, но, если честно, такой шняги я никак не ожидал - ну ведь новая же версия у фокса, а косяк с лохматых времён так и тянется..

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 11:40 14-06-2021 | Исправлено: TheBarmaley, 11:45 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley

Цитата:
покажет 31.12.1999, причём, пофиг даже если год первым поставить (2000,1,1) - одинаково, "прошлый век" кажет..)  

А вот нефига, тут у меня правильно показывает
Date Sat Jan 01 2000 00:00:00 GMT+0300 (Москва, стандартное время)

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 11:44 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
А вот нефига, тут у меня правильно показывает  
ну тогда "не дожил до полудня", через пару минут всё на место встанет..)
 
забавно - в фф52еср вообще какую-то ересь кажет, с тайм-зоной там вообще какие-то вилы..
вот, спецом выставил московскую тайм-зону (ГМТ+3), запускаем получаем вот такую херню:
 

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 12:00 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley
Цитата:
ну тогда "не дожил до полудня", через пару минут всё на место встанет..)  

Точно, дожил и встало... 7836.
Кстати и Enter не обязательно теперь жать, можно и OK давить. )

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 12:34 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
Точно, дожил и встало... 7836
я ж говорю - мат.раунд округляет по "школьным" правилам, но можно задать и по-другому:
Код:
Math.ceil(....)
тогда даже хоть миллисекундой больше, а день плюсанётся целый..)

Цитата:
Кстати и Enter не обязательно теперь жать, можно и OK давить. )
конечно, как и ескейп вместо отмены, стандартное же поведение любого такого диалога.. но ентером при ручном вводе проще..
там ведь кнопки только на случай отсутствия клавы, а так в любом (линейном) поле ввода ентер/ескейп эквивалентны ок/отмена..)
 
с этой т.з. для многих является "откровением" более простой метод подтверждения, как и табуляция при переходе по нескольким полям - сколько раз был свидетелем, когда человек набирает на клаве, тянется к мыши, наводит, щёлкает (переставляет курсор), потом бросает мышь и снова жмёт на клаве кнопки.. особенно доставляет, если это "прицеливание" делается в формах с десятком полей..  

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 13:29 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley

Цитата:
конечно, как и ескейп вместо отмены, стандартное же поведение любого такого диалога.. но ентером при ручном вводе проще..
там ведь кнопки только на случай отсутствия клавы, а так в любом (линейном) поле ввода ентер/ескейп эквивалентны ок/отмена..)  

Да я просто не правильно запомнил, твою фразу

Цитата:
во втором диалоге для текущей даты пофиг как, хоть ентер, хоть ескейп нажми - посчитает правильно..  
 
отложилось, что важно в первом окне жать именно ентер, поэтому и сказал так.

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 14:08 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
отложилось, что важно в первом окне жать именно ентер, поэтому и сказал так.
нет, важно только в первом ввести И подтвердить (ентером просто удобнее, можно и ок) - иначе разницу не с чем считать..
в базовом варианте если в первом диалоге ескейпнуть/отмена - больше и не будет спрашивать, просто закроет окно запроса и всё..
 
ну а во втором диалоге, если пусто+ок/ескейп/отмена - результат в этих случаях одинаковый = пусто..
поэтому скрипт возьмёт текущий момент времени (там ведь значение б вычисляется по ИЛИ)..
 
в принципе, можно и в будущее считать - в первом задавать дату/время больше текущего, только выводить будет с минусом..
ну или наоборот, в первом текущее, во втором - будущее, тогда , понятно, результат тоже будет с плюсом..

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 14:51 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley

Цитата:
ну а во втором диалоге, если пусто+ок/ескейп/отмена - результат в этих случаях одинаковый = пусто..
поэтому скрипт возьмёт текущий момент времени (там ведь значение б вычисляется по ИЛИ)..  

Не, у меня если /ескейп/отмена, то просто закроется без результата.

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 15:07 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
Не, у меня если /ескейп/отмена, то просто закроется без результата.
не понял юмора.. это что, если под фф-89 во втором НЕ нажать ок/ентер - что, просто захлопнется и не посчитает, что ли??
 
ещё раз вставил базовый код в консоль, указал "новый век" в первом, во вторм = ескейп и получил нормальный итоговый алерт..
завёл фф52еср, сделал всё то же самое - получил 8736, как и положено..  
 
что-то тут не так.. ты, часом, галочку не открыжил "запретить всплывающие на этом сайте", не?

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 15:21 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley
Цитата:
не понял юмора.. это что, если под фф-89 во втором НЕ нажать ок/ентер - что, просто захлопнется и не посчитает, что ли??  

Именно так у меня и происходит, просто закрывается без результата.

Цитата:
что-то тут не так.. ты, часом, галочку не открыжил "запретить всплывающие на этом сайте", не?

Нет, галочки не ставил.

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 15:57 14-06-2021 | Исправлено: alloledd, 15:58 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
Именно так у меня и происходит, просто закрывается без результата.  
ну не знаю.. надо, чтоб ещё кто-нить проверил, я фф89 под хр не смогу, на хроме87 работает так же, как и на старом 49-м и в фф52..

Цитата:
Нет, галочки не ставил.
ясно.. тогда вопрос - бред, конечно, но - на чистом/пустом профиле на странице about:blank так же или нет?

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 17:41 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley
А вот, нашёл причину

Код:
/* Закрыть активную вкладку по Esc ..... кроме открытых по F-11 https://forum.mozilla-russia.org/viewtopic.php?pid=777364#p777364 */
  document.onkeydown = e => {
    if (e.which != 27)
        return;
    if (document.querySelector(":root > div#ujs_window_gt"))
        return false;
    if (fullScreen)
        return fullScreen = false;
 
    gBrowser.removeCurrentTab();
}

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 19:56 14-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
А вот, нашёл причину
ну вот и кто ты после этого? навёл, панмашш, тень на плетень, а я тут измучился весь..  
и что, если эту шняжку отключить - во втором диалоге как положено по ескейпу работает и конечный алерт всегда выдаёт, так?

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 20:53 14-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley
Цитата:
ну вот и кто ты после этого? навёл, панмашш, тень на плетень, а я тут измучился весь..  

Да ладно, я же и причину нашёл и таки вспомни про свои "точки"...

Цитата:
и что, если эту шняжку отключить - во втором диалоге как положено по ескейпу работает и конечный алерт всегда выдаёт, так?

Если отключить, то да, будет работать именно так, как ты говоришь. Только кто ж будет отключать лучшее решение для закрытия вкладок. Уж лучше без Esc обойтись во втором окошке.

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 17:03 15-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
и таки вспомни про свои "точки"...  
ичсх - точки работают во всех хромых и это вполне нормально - человекопонятная запись, в отличие от запятых..)
так-то, можно прикрутить и костыль - поиск/замена в выводе промпта любых разделителей цифр хоть на запятые. хоть на точки..

Цитата:
Если отключить, то да, будет работать именно так, как ты говоришь. Только кто ж будет отключать лучшее решение для закрытия вкладок. Уж лучше без Esc обойтись во втором окошке.
не соглашусь с "лучшестью" - удобно/красиво = да, может быть, и то - не факт..
но вот если некое стороннее решение ломает стандартное поведение стандартного диалога - оно по определению не может считаться лучшим.. а в этой ситуации скриптик закрытия как раз так и делает - не только для нашей маленькой задачки, а для любого промпта вообще, так получается..
 
Добавлено:

Цитата:
хоть на запятые. хоть на точки
..а также можно привинтить проверку типа браузера по юзер-агенту... ну и т.д..
только тогда 400 байт исходника начнут распухать до размеров мини-сайтика какого-нить, прощу уж в инет сходить..))

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 20:32 15-06-2021
alloledd

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley
Цитата:
ичсх - точки работают во всех хромых и это вполне нормально - человекопонятная запись, в отличие от запятых..)  

Вот мне как-то ровно, шо там "во всех хромых"... И ты таки забыл за косые, они в датах тоже "человекопонятная запись", тут всё от человеков зависит.

Цитата:
не соглашусь с "лучшестью" - удобно/красиво = да, может быть, и то - не факт..
но вот если некое стороннее решение ломает стандартное поведение стандартного диалога - оно по определению не может считаться лучшим.. а в этой ситуации скриптик закрытия как раз так и делает - не только для нашей маленькой задачки, а для любого промпта вообще, так получается..  

Дык в данном случае "удобно/красиво", это и есть "лучшесть". Ну как ещё удобнее известными способами закрыть вкладку с клавы? И пока это решение мне нисколько не мешает "ломкой стандартных диалогов". А вот когда и если будет, тогда и буду решать, шо с этим делать.  
 
Добавлено:
А главное в этой ситуации, что и вкладки закрываются привычным для меня способом, и твоя прикольная закладурка работает. За что тебе человеческое спасибо.

Всего записей: 7297 | Зарегистр. 25-10-2019 | Отправлено: 06:42 16-06-2021 | Исправлено: alloledd, 06:44 16-06-2021
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alloledd
Цитата:
Вот мне как-то ровно, шо там "во всех хромых"...  
а другим "ровно" что там в "лосе" и "имя им - легион", их всяко больше т.е... всё "по месту дислокации", так сказать..)
 
в древнем ие-8, кстати, тоже точки И запятые не прокатывают, а косые - тока в путь..
только нынче вряд ли кто на таком раритете сидит..))

Цитата:
И ты таки забыл за косые, они в датах тоже "человекопонятная запись", тут всё от человеков зависит.
замечу - для буржуйских человеков - да, для наших соотечественников - нет, нас со школы к точкам в дате приучили..)
да, можно и функцию на локалеСтринг поменять.. и сдвижку даты относительно ГМТ учесть.. про конвертор всего-кроме-цифр уже было..
 
ну или, шоб уж совсем по фэньшую, можно детектить дефольтный/предпочтительный ланг браузера и соответссно менять надписи в диалогах и форматы ввода.. можно и блоком всплывающим сделать, с полями ТОЛЬКО для цифр, шоб исключить любые грабли..
в принципе, даже при этом должно влезть в букмарклет, 2кб кода - это достаточно много..  
 
но это всё уже "аццкие навороты" поверх микроскопической хохоряшки, проще "прокладку меж стулом и клавой" приучить..)

Цитата:
Дык в данном случае "удобно/красиво", это и есть "лучшесть". Ну как ещё удобнее известными способами закрыть вкладку с клавы?
стандартно - ктрл+ц (которая дубль-вэ) или ктрл+ф4..
да, два пальца вместо одного, но зато гарантированно не захлопнешь вкладку вместо остановки её загрузки - это тоже ведь стандартным ескейпом делается.. стандарты ведь не просто так написаны, есть понятие классического интерфейса, от этого и надо плясать..
 
а так-то можно на любую клавишу повесить закрытие, лучше - на ту, которая НЕ конфликтует явно с базовыми штатными фичами браузера.. как пример - буква Ё, крайне редко используется в большинстве случаев, как и её английский эквивалент, и тоже одна, практически = тот же ескейп, только чуть ниже, моторику слепого тыка чуть подправить и привыкнешь за пару дней..)

Цитата:
И пока это решение мне нисколько не мешает "ломкой стандартных диалогов".
а случайные закрытия - не мешают? ескейп кроме диалогов много где задействован..
в том числе - и на некоторых сайтах в их собственных скриптах..
не-не, шибко "чреватая" фича - вкладку по ескейпу гасить..

Цитата:
А вот когда и если будет, тогда и буду решать, шо с этим делать.
ну, в принципе, ты при тесте хохоряшки уже столкнулся с "мешанием"..))
да и зачем ждать, можно ведь превентивно исключить грабли - НЕ используя стандартные комбинации/клавиши для НЕстандартных действий.. а то так можно и вместо справки по ф1 вызывать принудительный крэш браузера или ещё чо..  
 
если у девелопера какой-то примочки крышу понесло и он начал менять штатное на своё - я могу только у виска пальцем покрутить..
и при необходимости юзания просто переделаю сэмпл на вменяемое сочетание - пусть чуть менее удобное, но зато беспроблемное..

Цитата:
А главное в этой ситуации, что и вкладки закрываются привычным для меня способом, и твоя прикольная закладурка работает. За что тебе человеческое спасибо.
ну так можно и наоборот - вкладку крестиком закрывать, а в диалогах ескейп жать.. стандарт рулит..))
 
ладно.. вроде как со всеми нюансиками разобрались, вот и гут, теперь можно и по пивку..)  

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 17847 | Зарегистр. 07-06-2006 | Отправлено: 08:29 16-06-2021 | Исправлено: TheBarmaley, 08:32 16-06-2021
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мини Excel, всё вручную, формулы фручную, но оно работает
Код:
data:text/html,<table id="t"><script>z=Object.defineProperty,p=parseFloat;for(I=[],D={},C={},q=_=>I.forEach(e=>{try{e.value=D[e.id]}catch(e){}}),t.style.borderCollapse="collapse",i=0;i<101;i++)for(r=t.insertRow(-1),j=0;j<27;j++)c=String.fromCharCode(65+j-1),d=r.insertCell(-1),d.style.border="1px solid gray",d.style.textAlign="right",d.innerHTML=i?j?"":i:c,i*j&&I.push(d.appendChild((f=>(f.id=c+i,f.style.border="none",f.style.width="4rem",f.style.textAlign="right",f.onfocus=e=>f.value=C[f.id]||"",f.onblur=e=>{C[f.id]=f.value,q()},get=_=>{v=C[f.id]||"";if("="!=v.charAt(0))return isNaN(p(v))?v:p(v);with(D)return eval(v.slice(1))},a={get},z(D,f.id,a),z(D,f.id.toLowerCase(),a),f))(document.createElement("input"))))</script>

 
Мини рисовалка на канвасе, просто тычь и води мышкой (нагло стырено с хабра)
Код:
data:text/html,<canvas id="v"><script>d=document,d.body.style.margin=0,f=0,c=v.getContext("2d"),v.width=innerWidth,v.height=innerHeight,c.lineWidth=2,x=e=>e.clientX||e.touches[0].clientX,y=e=>e.clientY||e.touches[0].clientY,d.onmousedown=d.ontouchstart=e=>{f=1,e.preventDefault(),c.moveTo(x(e),y(e)),c.beginPath()},d.onmousemove=d.ontouchmove=e=>{f&&(c.lineTo(x(e),y(e)),c.stroke())},d.onmouseup=d.ontouchend=e=>f=0</script>

 
Страница для заметок (шрифт можно менять на свой)
Код:
data:text/html,<body contenteditable style="line-height:1;font-family:Verdana;font-size:11px;">


Всего записей: 18002 | Зарегистр. 04-11-2010 | Отправлено: 22:27 30-06-2021 | Исправлено: insorg, 15:06 07-07-2021
JohnD78

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просмотр с кинопоиска бесплатно.

Код:
javascript:(function(){location.href=location.href.replace('https://www.kinopoisk.ru/','https://www.ggkinopoisk.ru/');})();

Но нужен блокировщик рекламы в браузере, без блокировщика там ее дофига.

Всего записей: 1483 | Зарегистр. 13-07-2016 | Отправлено: 18:13 18-09-2021 | Исправлено: JohnD78, 16:44 24-09-2021
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По тому же принципу...
 
Смотрим ютуб в полнооконном режиме (иногда - без рекламы):

Код:
javascript: location.href = location.href.replace("watch?v=", "embed/")

Всего записей: 18002 | Зарегистр. 04-11-2010 | Отправлено: 08:57 20-09-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Компьютерный форум Ru.Board » Компьютеры » Программы » Bookmarklets | Favelets | Букмарклеты


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru