Добавьте закладку, которая представляет собой только JavaScript, а не URL-адрес.

StackOverflow https://stackoverflow.com/questions/9104

Вопрос

Я думаю, что причина, по которой я не могу этого сделать, в том, что это может быть огромная дыра в безопасности, но вот...

Я хочу иметь закладку в своем браузере (желательно FF3), которая представляет собой всего лишь фрагмент кода JavaScript.Он просто создаст URL-адрес на основе текущей даты, а затем выполнит window.location = для этого URL-адреса.

Я знаю, что я мог бы создать страницу, сохранить ее на своем локальном компьютере и просто ссылаться на нее таким образом, но мне просто интересно, можете ли вы обойти этот шаг и на самом деле сделать так, чтобы «местоположение» закладки было просто JavaScript.Я мог бы поклясться, что это было возможно много лет назад, но сейчас я не могу найти ничего, что говорило бы мне об обратном.

Это было полезно?

Решение

То, что вы хотите, это букмарклет их легко создать, и они должны работать в большинстве основных браузеров.

Редактировать:Переполнение стека, похоже, не позволяет создавать букмарклеты в контексте сайта. По сути, вы можете создать новую закладку и ввести следующее в поле местоположения.

javascript:window.location='http://www.google.com/search?q='+Date()

чтобы получить букмарклет, который ищет в Google текущую дату.

Другие советы

Стоит отметить, что вы также можете поместить это в оболочку функции.Имранамаджид прекрасно это нам проиллюстрировал...но, видимо, я слишком новичок на сайте, чтобы размещать свой пост.:П

так для ясности:

javascript:(function(){
  location.href = location.href + "#";
})();

(возврат каретки не повлиял на производительность в Chrome и IE)

Одна небольшая загвоздка. ИЕ может справиться только с 508 URL-адрес символа в этом формате.Если вы сохраните его в IE с URL-адресом, превышающим этот, он будет обрезан без предупреждения и, следовательно, не удастся.

Если вам нужен действительно сложный сценарий, вам нужно будет использовать «размещенный» букмарклет, где у вас есть короткая закладка, которая вставляет тег сценария в страницу для «вызова» вашего размещенного букмарклета.

Это не так приятно и портативно, но это единственный обходной путь.

Google закладка

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();

Ну, я только что создал закладку в FF3, вернулся, обновил ее и добавил следующий тест:

javascript:alert('Wacky%20test%20yo');

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

Я уверен, что вы сможете придумать что-то подобное для своих нужд.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top