Как определить закрыл ли поьзователь окно созданное в javaScript

M
На сайте с 03.06.2012
Offline
73
671

Здравствуйте. Имеется собственный плягин для Chrome/Firefox. Смысл плагина такова: пользователь заходит на сайт "А" жмет иконку с плагином высвечивается попап с картинками сайта, он выбирает картинки жмет кнопку отправить. При клике создается окно методом

chrome.windows.create

и выбранные картинки загружаются мне на сайт. Потом пользователь идет на сайт "Б" жмет иконку с плагином выбирает картинки и при клике на отправить сново создается окно. Как мне определить что окно до сех пор открыто и продолжить загрузку в нем. Пробовал

my_window = chrome.windows.create(....)

не помогло так как в другом демене переменная my_window не определена. Куки работают только для домена. Так что больше ничего не могу придумать. Помогите кто знает. Заранее спасибо!

S
На сайте с 30.09.2016
Offline
469
#1

Javascript не предназначен для кроссдоменной работы. Это политика безопасности.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
M
На сайте с 03.06.2012
Offline
73
#2
Sitealert:
Javascript не предназначен для кроссдоменной работы. Это политика безопасности.

Я с вами согласен, но все же я использую плагин который как бы выше домена, возможно есть способ реализации именно в плагине

S
На сайте с 30.09.2016
Offline
469
#3

Плагин не может быть выше домена, это разнородные понятия.

M
На сайте с 03.06.2012
Offline
73
#4
Sitealert:
Плагин не может быть выше домена, это разнородные понятия.

Возможно есть метод получить все открытые табы и получить юрл и по ней определить что окно открыто. Но вот я не уверен что есть такая функция :(

[Удален]
#5
meverikxp:
Возможно есть метод получить все открытые табы

вот он точно это умеет: https://chrome.google.com/webstore/detail/nmidkjogcjnnlfimjcedenagjfacpobb

Евгений Русаченко
На сайте с 17.04.2013
Offline
157
#6

Посмотрите API: https://developer.chrome.com/extensions/tabs#event-onRemoved, а именно onRemoved, по идее это то, что Вам надо, но надо знать ID окна. С помощью https://developer.chrome.com/extensions/tabs#method-create Вы можете создавать новое окно и сохранять его ID.

Почта для домена ( https://lite.host/pochta/dlya-domena ) с безлимитными пользователями и доменами / Хостинг ( https://lite.host/hosting/dlya-blogov ) от 99 рублей / поддержка Let's Encrypt / PHP от 5.2 до 8.3 / SSH / бесплатный перенос,
M
На сайте с 03.06.2012
Offline
73
#7
Евгений Русаченко:
Посмотрите API: https://developer.chrome.com/extensions/tabs#event-onRemoved, а именно onRemoved, по идее это то, что Вам надо, но надо знать ID окна. С помощью https://developer.chrome.com/extensions/tabs#method-create Вы можете создавать новое окно и сохранять его ID.

ID я получаю при создании окна вопрос в том как его сохранить и получить про открытии новой вкладки с новым сайтом

A
На сайте с 23.11.2016
Offline
7
#8

На стороне клиента тоже можно создавать файлы или работать с базой данных. Вот, например, хорошая статья https://habrahabr.ru/post/84654/

M
На сайте с 03.06.2012
Offline
73
#9

У меня все же получилось получить ид окна через глобальную переменную.

Потом получаю окно и обновляю фокус


chrome.windows.update(id, {focused: true});

И передаю в окно переменный с помощью куки


chrome.cookies.set({
"name": "cookies_name",
"url": "http://mydomain.com/",
"domain": "mydomain.com",
"path": "/",
"value": JSONString
});

Всем Огромное СПАСИБО

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий