2011-02-05 2 views
0

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

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

ответ

0

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

+0

Я спросил только потому, что не могу сделать такую ​​легкую тестовую страницу. В дереве DOM я не могу найти ссылку на букмарклет. – tic

+0

javascript: alert (SomeGlobalVariable); – epascarello

0

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

Lets метод угона 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()} 

 Смежные вопросы

  • Нет связанных вопросов^_^