2009-12-13 105 views
1

我试图使用的Chrome扩展的谷歌书签API(这是的谷歌书签API在http://www.google.com/bookmarks/,而是Chrome Bookmarks API)。谷歌Chrome浏览器扩展,不响应收藏活动

无论如何,我只是尝试了一个简单的例子,我有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> 

回答

1

要回答我自己的问题,这里的问题是,不仅需要将权限设置为“书签”,还需要将其设置为“选项卡”。一旦我做到了,插件就会识别添加和删除书签。

非常不直观,但这是解决方案。

+0

有趣。我无法复制,但我可能会使用更新的版本。也许在http://crbug.com上提供一个错误 - 一定要提及你的确切版本的Chrome和什么平台(Windows,Linux等)。 – dmazzoni 2009-12-19 21:45:40

1

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

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

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

+0

感谢您的回复。不幸的是,这并不能解决问题。另外,如果我使用类似的代码,但对于制表符(包括类型名称),它工作正常。 – JasCav 2009-12-14 17:02:12

+0

再次检查。我只是在最新的开发渠道Chrome上尝试过它,而且效果很好。任何你在其他地方有错别字的机会?你检查了javascript错误的检查器吗? – dmazzoni 2009-12-14 21:40:42

+0

@dmazzoni - 我确切地知道你有什么,加上清单文件,当我创建一个新的书签时,我没有收到一个警告框。你如何创建书签?我试图通过点击地址栏旁边的星号来实现。 – JasCav 2009-12-18 04:50:34