javascript bookmarklet изолированы от других скриптов? - PullRequest
0 голосов
/ 05 февраля 2011

Используя DOM, я могу написать скрипт, который читает (и, возможно, присваивает переменной) код других скриптов на текущей странице, не так ли?

Можно ли сделать то же самое для букмарклетов? То есть может ли встроенный или внешний скрипт в текущей веб-странице прочитать (и, возможно, назначить переменной) исходный код букмарклета, который выполняется после загрузки страницы, или получить доступ к любой переменной и / или свойству такого букмарклета

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Почему нет! Их совсем нет, поэтому букмарклеты такие мощные. Букмарклеты - это просто javascript: URL-адреса, выполняющиеся в глобальной области и имеющие полный контроль над текущими window

Позволяет перехватить метод window.open (), например:

javascript:(function(){var wo=window.open;window.open=function(){if(confirm('All your window.open are belong to us!'))return wo.apply(window, arguments)}})()

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

javascript:with(window.open()){document.open('text/plain');document.write('HAI!');document.close()}
0 голосов
/ 05 февраля 2011

Вы пробовали это и видели, что происходит?Кажется, легко сделать тестовую страницу.Ответ - да, он может изменять значения, это не то же самое, что запуск кода в песочницах.

...