1

Могу ли я использовать window.confirm для активации расширения/приложения Chrome inline installation?Chrome inline plugin install on window.confirm

Чтобы действительно начать инлайн установку, в chrome.webstore.install (URL, successCallback, failureCallback) функция должна быть вызвана. Эта функция может быть вызвана только в ответе жестом пользователя, например, в обработчике событий клика; исключение будет выбрано, если это не так.

Из документации: chrome.webstore.install должна вызываться в ответ на пользователя жест. Могу ли я это сделать, используя всплывающее окно подтверждения браузера?

if (confirm("Press a button!") == true) { 
 
    var app = 
 
    'https://chrome.google.com/webstore/detail/omcplobmjajgpmpcdnbdiblienjeljan'; 
 
    chrome.webstore.install(app, function() { 
 
    console.log('Success'); 
 
    }, function(errorMessage) { 
 
    console.log('Error: ' + errorMessage) 
 
    }); 
 
}
<link 
 
    rel="chrome-webstore-item" 
 
    href="https://chrome.google.com/webstore/detail/omcplobmjajgpmpcdnbdiblienjeljan" 
 
>

я не могу проверить это сам, потому что у меня нет проверенных доменов

+0

Что вызывает «подтверждение» в первую очередь? Я предполагаю, что это важная часть. Если вы подтвердите подтверждение без участия пользователя заранее, я сомневаюсь, что он сработает. – Xan

+0

Вы имеете в виду, что я должен вызвать подтверждение при нажатии кнопки (например)? –

+0

Почему вы используете confirm()? –

ответ

1

Что вызывает подтвердить в первую очередь? Я предполагаю, что это важная часть. Если вы подтвердите подтверждение без участия пользователя заранее, я сомневаюсь, что он сработает.

Насколько я понимаю требования к жестом пользователя, это означает «в контексте прослушивателя событий, вызванного жестом пользователя». Ответ от модального не является таким слушателем. Примечание: это предположение, я его не тестировал.

Поскольку установка рядной должна быть запущен через пользовательский жест (например, мыши) поэтому предположение, что вы связать действие с интерактивным элементом пользовательского интерфейса, такие как кнопки. Предполагается, что вы используете ту же самую кнопку, что и сам веб-магазин Chrome (на английском языке это «Добавить в Chrome»).

Документация здесь относится к элементам DOM, даже если она не является явной.

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

+1

Да, он работает только в том случае, если * подтвердите * в функции, вызванной * жестом пользователя *. –