JS проверить, установлено ли расширение Chrome iwallet в пользовательском браузере Chrome или нет? - PullRequest
1 голос
/ 14 октября 2019

Я разрабатываю кошелек для оплаты сайтов электронной коммерции. Мне нужно добавить проверку на странице JS, если пользователь установил расширение Chrome (iwallet) или нет.

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Как сказано в предыдущем ответе, вы не можете этого сделать. Это потому, что если такая вещь действительно присутствовала, это будет проблемой конфиденциальности для пользователей Chrome. На самом деле, интернет-магазин Chrome - единственный веб-сайт, который имеет доступ к таким API-интерфейсам Chrome.

НО - глядя на исходный код расширения, вы можете проверить, что расширение меняет в вас. браузер или даже сообщения, которые он слушает.

В исходном коде Iwallet я обнаружил в content-script.js и inpage.js, что он устанавливает специальное свойство объекта окна window.IWalletJS, и вы можете просто проверить, существует ли он дляопределить, установлено расширение или нет.

Так просто, как:

if('IWalletJS' in window){
    console.log("IWallet is installed", window.IWalletJS);
} else {
    console.log("IWallet is not installed");
}

Посмотрите на объект, прикрепленный к этому свойству, вы можете проверить, зарегистрирован ли пользователь, имя учетной записи ибольше.

0 голосов
/ 14 октября 2019

К сожалению, расширения Chrome не могут просто видеть друг друга. Я хотел бы проверить, что введено на страницу, и посмотреть, включена ли глобальная переменная или что-то, установленное из iwallet.

Например, скажем, iwallet устанавливает глобальную переменную window._iwallet, добавьтеотложенная функция, которая проверяет существование такой переменной (или, возможно, модифицированного элемента DOM), и основывает свои выводы на этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...