1

我可以使用window.confirm來觸發Chrome擴展程序/ app inline installationChrome內嵌插件安裝在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

首先觸發'confirm'的是什麼?我猜這是重要的一部分。如果事先沒有用戶交互的情況下彈出確認,我懷疑它會起作用。 – Xan

+0

你是說,我應該打電話確認按鈕點擊(例如)? –

+0

你爲什麼使用confirm()? –

回答

1

什麼擺在首位觸發確認?我猜這是重要的一部分。如果事先沒有用戶交互的情況下彈出確認,我懷疑它會起作用。

據我瞭解用戶手勢要求,這意味着「在用戶手勢觸發的事件監聽器的上下文中」。來自模態的反應不是這樣一個聽衆。 注意:這是一個猜測,我沒有測試過它。

由於內嵌安裝有經由用戶手勢來觸發(例如,鼠標點擊)這是因此建議你配合作用以可點擊的用戶接口元件,如按鈕。建議您使用與Chrome網上應用店本身相同的按鈕標籤(英文,這是「添加到Chrome」)。

這裏的文檔指的是DOM元素,即使它不是顯式的。實際上,如果它在顯示對話框之前沒有用戶手勢工作,我會考慮這個bug,因爲用戶無法避免與confirm進行交互。

+1

是的,它只在*用戶手勢*調用的函數中確認*時纔有效。 –