我是AngularJS的新手并试图在Webstore inline installation guide
之后安装Chrome扩展程序在我的.html文件中
<button data-ng-click="chromeExtensionInstall()" id="install-button">Add to Chrome</button>
在我的.js文件中
function successCallback () {
window.alert('success');
}
function failureCallback () {
window.alert('failure');
}
$scope.chromeExtensionInstall = function() {
if (!chrome.app.isInstalled) {
chrome.webstore.install('https://chrome.google.com/webstore/detail/...',
successCallback(), failureCallback());
}
};
显示两个警报,然后获取此未捕获的例外:“Chrome网店安装只能通过用户手势启动”
有什么想法吗?
答案 0 :(得分:4)
chrome.webstore.install
函数接受2个回调参数,这意味着2个函数指针。你不应该自己调用这些函数,而只需传递它们的名字,如下所示:
chrome.webstore.install('https://chrome.google.com/webstore/detail/...',
successCallback, failureCallback);
而不是:
chrome.webstore.install('https://chrome.google.com/webstore/detail/...',
successCallback(), failureCallback());
你看到了区别吗?如果你不这样做,请查看this page,它解释得很好(还有this on 7 common JavaScript mistakes)
答案 1 :(得分:0)
内联安装由两部分组成:
声明性标记(如<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/itemID">
)和
调用JavaScript函数chrome.webstore.install()。此外,您还必须验证触发内联安装的网站与Chrome网上应用店中相关项目之间的关联。
我认为你只做了第二部分。这个链接很有用。
http://noelarlante.com/setup-chrome-extension-for-inline-installation/