Google Chrome扩展程序,不响应书签事件

时间:2009-12-13 06:51:52

标签: api google-chrome

我正在尝试使用适用于Chrome扩展程序的Google书签API(这不是不是 Google书签API,而是http://www.google.com/bookmarks/,而是Chrome Bookmarks API)。

无论如何,我只是尝试了一个简单的例子,我有background.html和下面列出的manifest.json。但是,我没有收到警告对话框。如果我切换到使用制表符事件,我不会遇到此问题。我做错了什么?

的manifest.json

{
    "name": "Google Bookmark Integration",
    "version": "1.0",
    "description": "Integrates Chrome bookmarks with Google Bookmarks.",
    "icons": { "128": "images/bookmark.ico" },
    "background_page": "background.html",
    "permissions": [
        "bookmarks",
        "http://*.google.com/bookmarks/*"
    ]
}

background.html

<script>
    chrome.bookmarks.onCreated.addListener(function(id, bookmark) {
       console.log("Bookmark Created"); 
    });
</script>

2 个答案:

答案 0 :(得分:1)

JavaScript是动态类型的,函数定义不应该有类型名称。而不是(string id,BookmarkTreeNode书签),你需要只写(id,书签)。你的background.html应该是:

<script>
    chrome.bookmarks.onCreated.addListener(function(id, bookmark) {
       alert("Dialog Box");     
    });
</script>

此外,显然Chrome对alert()内部扩展的支持有限。 (在这种特殊情况下,它对我有用,但我现在发现了其他情况,但不是。)请尝试使用console.log()。 “调试”的Chrome扩展程序文档页面提供了有关如何打开background.html页面的开发人员工具/ JavaScript控制台的说明,您需要这样做。

答案 1 :(得分:1)

要回答我自己的问题,这里的问题是,不仅需要将权限设置为“书签”,还需要将它们设置为“标签”。一旦我这样做,插件就会识别出添加和删除书签。

非常违反直觉,但这是解决方案。