我可以使用window.confirm
触发Chrome扩展程序/应用inline installation吗?
要实际开始内联安装, 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"
>
&#13;
我无法亲自测试,因为我没有经过验证的域名
答案 0 :(得分:1)
首先触发确认的原因是什么?我猜这是重要的部分。如果您事先没有用户互动弹出确认,我怀疑它是否会起作用。
据我了解用户手势要求,这意味着&#34;在由用户手势触发的事件监听器的上下文中#34;。来自模态的回应不是这样的倾听者。 注意:这是猜测,我还没有测试过。
由于必须通过用户手势(例如,鼠标单击)触发内联安装,因此建议您将操作绑定到可点击的用户界面元素,例如按钮。建议您使用与Chrome网上应用店相同的按钮标签(英文,这是&#34;添加到Chrome&#34;)。
这里的文档是指DOM元素,即使它不明确。
事实上,如果在显示对话框之前没有用户手势就可以工作,我会考虑这个错误,因为用户无法避免与confirm
交互。