Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

поэтому для наглядности:

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

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

Ответ 3

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

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

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

Ответ 4

Закладка 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)})();

Ответ 5

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

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

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

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