Pull to refresh

Comments 35

Хорошее изложение и примеры, всё стало понятно. Благодарю!
Единственный минус, при первом взгляде километры текста пугают =)
Километры кода убрал, оставил только ссылку на исходник.
Интересный механизм, я не знал, что закладка может получить доступ к текущей странице, открытой в браузере.
В принципе подгрузив свой js можно делать кучу прикольных вещей.
Мне например первое что пришло в голову — это сохранение выделенных кусков текста и картинок у себя на сервера, т.е. погрузил скрипт, выделил кусок страницы и нажал отправить себе в архим, а оно осхранилось уже на сервере, где ты далее можешь это посмотреть.

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

Но основной плюс как технологии — это не то, что мы можем многое сделать, а простота использования для конечного пользователя — добавить ссылку в закладки очень просто, еще проще, чем установить дополнение.
Кстати, а механизм будет работать, если ссылку установить как «Домашнюю»? — это было бы удобно, т.к. например я ей вобще не пользуюсь, а вот в таком виде ей можно найти применение :).
Вобще нужно что бы эти ссылки были под рукой, а не спрятаны в менюшках.
Я, если честно, не знаю, что такое «Домашняя» ссылка, поэтому и на вопрос не знаю, как ответить…
В браузерах ссылочка «Домой» — обычно там нарисован домик :)
Щас посмотрел, в Файерфоксе её по-умолчанию спилили, а я как-то и не заметил :)
Туплю :)

Да, работает, по крайней мере в ff. В остальных браузерах — не знаю.
В других тоже работает, я проверил :)
Было бы вобще супер, если бы можно было иконку для кнопки на тулбаре задавать.

Эх, очень хочется поставить Вам плюсик, но к сожалению не имею возможности :(
Не, это уже моветон. JS не должен иметь возможности управлять размером, положением, внешним видом браузера — а то подумайте, какие возможности для рекламщиков появятся. По сравнению с ними popup window покажутся милой невинной забавой.
UFO just landed and posted this here
Пожалуйста :)

А польза, действительно, может быть огромная, в этом я с вами согласен.
Сори за офтоп. Понудю.

"(все комментарии идут на английском, так как заказчик американец)" — комментарии всегда надо писать на английском!

За статью спасибо
Спасибо :)

Уточнение очень хорошее, у нас в стандарте оформления кода это прописано. Я обычно так и делаю, но в статьях заменяю комментарии на русские для пущей понятности, поэтому и извиняюсь за комментарии на английском.
Спасибо за статью. Мне вообще нравится сама идея букмарклетов.
Спасибо за статью! Как раз недавно об этом думал! :)
Главный вопрос:

> «Какие возможности дает букмарклет?». Правильный ответ — любые.
Я хочу в своем букмарклете делать скриншоты текущей страницы. Возможно ли это?
Использование предполагается в Фаерфоксе, поэтому задачу можно упростить — использовать какие-нибудь плагины ФФ. Может ли яваскрипт обращаться к таким плагинам?
Сам по себе javascript не может этого сделать, но, подозреваю, это может сделать flash а javascript может с ним работать и подгружать его.

Опять же, вы можете либо копировать содержимое страницы вместе со всеми картинками и стилевыми файлами, чтобы построить где-нибудь на сервере копию страницы и снять скриншот.

Насчет дополнений — если плагин предусматривает такого рода функциональность, то обратиться к нему из js можно.
Скриншотить надо с локального компа — т.к. на сервере все может быть по-другому.

Нашел плагинчик, который делает все, что нужно — www.screengrab.org/
Но вот как его вызвать? И как решается вопрос с безопасностью? Чтобы стороние скрипты на странице не могли его вызывать?
Куда копать?
Копать в сторону общения с автором плагина, он расскажет, планировал ли он такого рода взаимодействие. Если он ничего путнего не скажет, то тогда нужно взять исходный код и попробовать вшить эту функциональность в плагин, потом опубликовать его и уже в самом конце сделать букмарклет.

Что касается проблем безопастности — ну, можно закрыть доступ к плагину хоть по тому же паролю. Букмарклет же динамически генерится, верно? Туда можно и логин и пароль добавить, и будет он уникальным для пользователя. А плагин перед тем, как делать то, что скрипт просит, запрашивает сервер, адекватный ли ему предоставили логин/пароль.
Я все же советую поступать другим путем:
Не запихивать весь код букмарклета в ссылку, а добавить в букмарклет лишь код инжектора, который включит в страницу яваскрипт с вашего сервера. Это позволит отследить пользовательскую активность и избавит пользователей от необходимости устанавливать новую версию букмарклета при каждом багфиксе или добавлении новой фичи.

javascript:(function(){
 var s=document.createElement('script');
 s.setAttribute('src', 'http://scripts.uadev.net/script.js');
 document.getElementsByTagName('body')[0].appendChild(s);void(s);
})()

* This source code was highlighted with Source Code Highlighter.
Простите, но вы, мне кажется, невнимательно читали. Именно об этом и пишу в посте. Сравните еще раз ваш код и мой.
Аттавизм из прошлого кода, случайно затесался. Да и не важно уже. Все равно это всего-лишь упрощенная версия приведенного выше кода.
А я про тайный смысл думал.
А можно узнать букмарклет для какого вишлистового сервиса делается?
Чуть-чуть позже, после того, как выполним полностью готовый проект, напишу.
Возможно, даже напишу какой-нибудь топик — наверняка там будут какие-нибудь интересные проблемы, решение которых пригодится хабралюдям.
Хотел показать букмарклет для создания многострочного статуса вконтакте, который сделал после вашего поста, но кто-то сделал мне карму -1, теперь не могу создать топик (
если случайно нажать «пару раз» на вызове букмарклета — то будет несколько окон поверх друг друга — и при этом они не закрываются…
Кстати да, этот случай совершенно не продуман. Спасибо, поправлю.
Sign up to leave a comment.

Articles