Запуск букмарклета с помощью AutoHotkey - PullRequest
1 голос
/ 30 мая 2019

У меня есть этот аккуратный маленький букмарклет, который обновляет таблицу стилей на любой просматриваемой веб-странице, не перезагружая страницу:

javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()

Я пытаюсь написать скрипт AHK для запуска букмарклета, когда нажимаюCTRL + Q.Это то, что у меня так далеко:

^q::
Clipboard:="?javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()"
sendinput ^l
sendinput {Right}
sendinput ^v
sendinput {enter}
return

Не помогает, что я не знаю, как выполнить букмарклет, фактически не щелкнув его на панели закладок.Приведенные выше коды выбирают URL и вставляют JavaScript в его конец - но это не работает.

Кто-нибудь может мне помочь?

РЕДАКТИРОВАТЬ: вот еще одна попытка, но это простоищет в Google фактическую строку вместо ее запуска.

^q::
Clipboard:="javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()"
sendinput ^l
sendinput ^v
sendinput {enter}
return

1 Ответ

2 голосов
/ 30 мая 2019

Проведя небольшое исследование, это вполне может работать в качестве обходного пути:

  1. Добавьте пользовательскую поисковую систему в Chrome, щелкнув правой кнопкой мыши адресную строку и нажав кнопку «Добавить» рядом с «другими поисковыми системами»
  2. Назовите что-нибудь разумное и дайте ему ключевое слово (в данном случае я использовал "refreshcss")
  3. Вставьте букмарклет в поле URL и сохраните.

Теперь измените скрипт AHK следующим образом:

^q::
sendinput ^l
send refreshcss
sendinput {enter}
return

Это приведет вас к строке URL, выберите ваш букмарклет и запустите его:)

...