1

Kann ich window.confirm verwenden, um die Chrome-Erweiterung/App inline installation auszulösen?Chrome Inline-Plugin auf window.confirm installieren

Zunächst tatsächlich Inline-Installation, die chrome.webstore.install (url, successCallback, failureCallback) Funktion aufgerufen werden muss. Diese Funktion kann nur als Antwort auf eine Benutzergeste aufgerufen werden, z. B. in einem Click-Ereignishandler; Eine Ausnahme wird ausgelöst, wenn dies nicht der Fall ist.

Aus Dokumentation: chrome.webstore.install muss in Reaktion auf eine Benutzergeste bezeichnet werden. Kann ich es tun, indem ich das Browser-Bestätigungs-Popup benutze?

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" 
 
>

ich es nicht testen kann mich, weil ich keine prüft Domains

+0

Was löst die "Bestätigung" an erster Stelle aus? Ich schätze, das ist der wichtige Teil. Wenn Sie die Bestätigung ohne vorherige Benutzerinteraktion aufrufen, bezweifle ich, dass es funktioniert. – Xan

+0

Du meinst, dass ich per Knopfdruck (zum Beispiel) bestätigen soll? –

+0

Warum benutzen Sie confirm()? –

Antwort

1

haben Was die Bestätigung an erster Stelle auslöst? Ich schätze, das ist der wichtige Teil. Wenn Sie die Bestätigung ohne vorherige Benutzerinteraktion aufrufen, bezweifle ich, dass es funktioniert.

Soweit ich Benutzer Gestenanforderungen verstehe, bedeutet dies "im Kontext eines Ereignis-Listeners ausgelöst durch eine Benutzergeste". Antwort von einem Modal ist nicht so ein Zuhörer. Hinweis: Dies ist eine Vermutung, ich habe es nicht getestet.

Da Inline-Installation hat über eine Benutzergeste (zum Beispiel ein Mausklick) ist es daher vorgeschlagen, dass Sie die Aktion zu einem klickbaren Element der Benutzeroberfläche wie eine Taste binden ausgelöst werden. Es wird empfohlen, dass Sie die gleiche Schaltflächenbeschriftung wie der Chrome Web Store selbst verwenden (in Englisch ist dies "Add to Chrome").

Dokumentation bezieht sich hier auf DOM-Elemente, auch wenn es nicht explizit ist.

In der Tat, wenn es funktioniert ohne eine Benutzergeste vor dem Anzeigen des Dialogs, würde ich das als einen Fehler betrachten, da der Benutzer keine Möglichkeit hat, die Interaktion mit einem confirm zu vermeiden.

+1

Ja, es funktioniert nur, wenn * in der Funktion bestätigt * durch * Benutzergeste * bestätigt wird. –

Verwandte Themen