Веб-консоль является частью области браузера, в то время как скрипт GreaseMonkey внедряется в содержимое страницы, и его область действия ограничивается только этой страницей.
Вы можете открыть новую вкладку / окно из содержимого страницы с помощью GM, но это окно / вкладка будет иметь свою собственную область содержимого страницы, которая отделена от первой. Поэтому вы не можете получить доступ к свойствам, принадлежащим другой вкладке / окну, из содержимого страницы другой вкладки.
Это разделение предназначено для всех сценариев содержимого, а не только для GM. В противном случае это создало бы большую угрозу безопасности, если бы JS на одной вкладке / странице мог получить доступ к данным на других вкладках.
Обновление:
Как указано wOxxOm, CSP и политика перекрестного происхождения предотвращают Обмен ресурсами между источниками (CORS) .
В вашем примере, в Firefox, первая проблема заключается в том, что Firefox будет " Блокировать всплывающее окно windows "из содержимого скрипта.
Тестирование Firefox выделенный userScripts API на FireMonkey , после разрешения всплывающего окна, все еще вызывает ошибку:
SecurityError: Разрешение отклонено чтобы получить доступ к свойству "onload" на объекте перекрестного происхождения
В этом случае, я полагаю, это происходит из-за изолированной среды пользовательских скриптов для безопасности.
GM / TM / VM не используйте API-интерфейс userScripts и используйте другие средства для добавления пользовательских сценариев, что приводит к разным результатам.