Скрипты не могут напрямую взаимодействовать друг с другом, и // @namespace
просто для разрешения script конфликтов имен. (То есть вы можете иметь 2 разных сценария с именем «Link Remover», только если они имеют разные пространства имен.)
Отдельные сценарии может обменяться информацией, используя:
- Cookies - работает только для одного домена
localStorage
- работает только для одного домена
- Отправка и получение значений через AJAX на сервер, которым вы управляете, работает в междоменном режиме.
Вот и все.
Различные запущенные экземпляры, одного и того же сценария , могут обмениваться информацией, используя GM_setValue()
и GM_getValue()
. Преимущество этого метода заключается в том, что он междоменный, простой и невидимый для целевой веб-страницы.
См. этот рабочий пример связи между вкладками в Tampermonkey .
В Chrome и только в Chrome может использовать нестандартный FileSystem API для хранения данных в локальном файле. Но это, вероятно, потребует от пользователя нажатия на каждую транзакцию - если она вообще сработает.
Другой вариант - написать расширение (дополнение), которое будет действовать как помощник, и выполнить файл IO. Вы будете взаимодействовать с ним через postMessage
, обычно.
На практике я никогда не сталкивался с ситуацией, когда было бы проще и понятнее объединить любые сценарии, которые действительно нужны для обмена данными.
Кроме того, сценарии не могут совместно использовать код, но они могут внедрить JS на целевую страницу и оба получить к ней доступ.
Наконец, AFAICT, сценарии всегда выполняются последовательно, а не параллельно. Но вы можете управлять порядком выполнения с панели Manage User Scripts