Я заметил, что мой букмарклет Javascript не работает на некоторых сайтах, таких как Google Reader и страницы результатов поиска Google (и случайно на некоторых сайтах, не принадлежащих Google). Глядя на консоль, я мог видеть, что для этих страниц нажатие на букмарклет не добавляло элементы к голове / телу, как это обычно делалось, но создавало новый документ, который выглядел так:
<html>
<head></head>
<body></body>
</html>
Даже если я уменьшу свой букмарклет до javascript:alert(window.location.href);
, он создаст эту пустую страницу и запустит там букмарклет, так что в предупреждении будет показано about:blank
. На большинстве сайтов эта пустая страница не создается, и отображается правильное местоположение.
Может кто-нибудь объяснить это? Являются ли эти сайты песочницей, запускаемой внешним кодом в качестве меры безопасности?
ОБНОВЛЕНИЕ : в настоящее время я не могу воспроизвести это в браузерах, отличных от Chrome 17.0.932.0 dev. Пожалуйста, дайте мне знать, если кто-то еще может воспроизвести эти результаты на Chrome или другим способом.