chrome的扩展中怎么调用书签的API?
1,chrome.bookmarks.getTree(function callback)
Retrieves the entire Bookmarks hierarchy.
Parameters
callback ( function )
Callback function
The callback parameter should specify a function that looks like this:
function(array of BookmarkTreeNode results) {...};
results ( array of BookmarkTreeNode )
获得 一个BookmarkTreeNode类型的Arrary
2,如果BookmarkTreeNode节点的children 属性为空,则说明是一个空文件夹或者是一个书签;
url 属性为空,则说明是一个文件夹,下面是原文:
(The URL navigated to when a user clicks the bookmark. Omitted for folders.)
<html>
<head>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" rel="stylesheet">
<style>
div, td, th { color: black; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script>
function dumpBookmarks(query) {
var bookmarkTreeNodes = chrome.bookmarks.getTree(
function(bookmarkTreeNodes) {
$('#bookmarks').append(dumpTreeNodes(bookmarkTreeNodes, query));
});
}
function dumpTreeNodes(bookmarkNodes, query) {
var list = $('<ul>');
var i;
for (i = 0; i < bookmarkNodes.length; i++) {
list.append(dumpNode(bookmarkNodes[i], query));
}
return list;
}
function dumpNode(bookmarkNode, query) {
if (bookmarkNode.title) {
if (query && !bookmarkNode.children) {
if (String(bookmarkNode.title).indexOf(query) == -1) {
return $('<span></span>');
}
}
var anchor = $('<a>');
anchor.attr('href', bookmarkNode.url);
anchor.text(bookmarkNode.title);
anchor.click(function() {
chrome.tabs.create({url: bookmarkNode.url});
});
}
var li = $(bookmarkNode.title ? '<li>' : '<div>').append(anchor);
if (bookmarkNode.children && bookmarkNode.children.length > 0) {
li.append(dumpTreeNodes(bookmarkNode.children, query));
}
return li;
}
</script>
</head>
<body onload="dumpBookmarks();" style="width: 400px">
<div id="bookmarks"></div>
</body>
</html>
{
"name": "Bookmarks",
"version": "1.0",
"description": "A browser action with a popup dump of all bookmarks",
"permissions": [
"bookmarks", "tabs"
],
"browser_action": {
"default_title": "My Bookmarks.",
"default_icon": "icon.png",
"popup": "popup.html"
}
}
http://www.luexiao.com/questions/112695
分享到:
相关推荐
6. Chrome扩展API:为了执行特定的操作,扩展需要调用Chrome提供的扩展API。API覆盖的范围非常广泛,从简单的浏览器信息获取,到复杂的标签管理、书签操作等都有涉及。开发者需要仔细阅读官方文档来了解和掌握这些...
Chrome扩展提供了丰富的API,允许开发者访问浏览器功能,如存储(`chrome.storage`)、书签(`chrome.bookmarks`)、历史记录(`chrome.history`)等。在本地JS脚本中,你可以调用这些API来扩展功能。 **7. 测试和...
在Chrome扩展中,弹窗通常用于显示一些临时信息或交互界面。这个例子可能涉及到创建一个按钮,当用户点击该按钮时,会在浏览器右下角弹出一个小窗口。实现这一功能的关键在于`manifest.json`文件中的`browser_action...
相对而言,"Extension"扩展则是针对浏览器自身的功能增强,它们能够调用浏览器提供的API,如添加书签管理、网页翻译等功能。扩展通常可以在不同的操作系统之间通用,如Windows和Mac。这使得用户能够在不同的设备上...
《基于使用频率排序Chrome书签的扩展程序解析》 ...这个项目不仅展示了JavaScript在浏览器扩展开发中的强大能力,也为其他开发者提供了一个实用的参考案例,进一步推动了Chrome扩展程序生态的发展。
四、扩展调用 NPAPI 插件 JS 虽然越来越牛叉了,但毕竟存在局限性,有些处理目前用 JS 来做毕竟还不现实,比如视频插件、大数据计算等,这类处理大部分还是会通过 C++ 等语言封装的组件来实现的,那么在 JS 的插件...
8. **性能优化**:针对Chrome扩展的性能优化,包括合理使用事件监听、减少内存泄漏、优化API调用等策略,也是提高用户体验的重要方面。 9. **调试技巧**:掌握Chrome开发者工具的使用,包括源代码调试、性能分析、...
镀Chrome扩展剂Chrome扩展程序和主题开发的入门套件。Google网上论坛官方文件这是指向各种Chrome开发者页面的链接的目录树。学习基础开发扩展 分发扩展发展官方文档相当详尽且是最新的。 一些建议: 指导开发扩展的...
7. **API调用**:Chrome提供了丰富的API,如存储API(chrome.storage)用于持久化数据,书签API(chrome.bookmarks)用于操作书签,还有通知API(chrome.notifications)用于创建桌面通知等。 在“chrome-extension...
**JavaScript在Chrome扩展中的应用** 在Chrome Speak中,JavaScript不仅用于处理用户交互,还负责与Chrome的API进行通信。开发者通常会使用`chrome.runtime` API来发送和接收消息,以便在后台脚本和内容脚本之间交换...
3. **内容脚本(Content Scripts)**:内容脚本是Chrome扩展的一种特殊类型,它们可以在用户浏览的网页上运行,但受到沙盒环境的限制,不能直接访问Chrome扩展的其他部分或者浏览器API。通过`manifest.json`中的`...
- `chrome.runtime` API提供了一种方式来获取扩展的状态信息,以及与用户进行交互,如通知。 - `chrome.tabs` API允许对浏览器的标签页进行操作,如创建、切换、更新等。 总的来说,"chrome拓展程序demo"项目是一个...
例如,当用户在Chrome中添加新的书签时,JavaScript会捕获这一事件,将新书签的信息发送到服务器进行存储,并在其他已安装该扩展的设备上同步更新。 扩展程序的实现通常涉及到Chrome的API,如Bookmarks API,它允许...
- **浏览器 API 访问**:调用 `chrome.*` API,如存储数据、获取权限、发送通知、管理书签等。 - **异步处理**:配合 Promise 或 async/await 处理异步任务,提高用户体验。 **3. DnWrry 具体功能分析** 由于没有...
在本压缩包中,包含的“Chrom扩展及应用高清PDF”很可能是一份详尽的教程,旨在指导读者深入理解和开发Chrome扩展。 这份PDF可能涵盖了以下关键知识点: 1. **Chrome扩展结构**:每个Chrome扩展由几个基本部分组成...
在这个“chrome-extensions”项目中,开发者分享了过去几年他所创建的多个Chrome扩展程序,虽然这些扩展可能已过时,但它们依然能为我们提供宝贵的编程经验和设计思路。 首先,我们来深入了解JavaScript在Chrome...
"其它杂项"可能意味着该插件涵盖了JavaScript开发中的多个方面,包括DOM操作、AJAX异步通信、事件处理、以及可能的API调用等,这些都是构建浏览器扩展时常见的技术。 在【压缩包子文件的文件名称列表】中,"OurPage...
书签热键(BookmarkHotkeys)是一款专为Google Chrome浏览器设计的扩展程序,它允许用户通过自定义的快捷键来迅速访问他们的...对于开发者而言,这也是一次学习如何利用JavaScript和Chrome扩展机制实现实用功能的好机会。
在Chrome扩展中,JavaScript负责处理逻辑操作,如拦截和阻止特定网页的加载,或者根据用户设定的时间表控制访问权限。通过Chrome的API(应用程序接口),JavaScript可以获取和操作浏览器的各种功能,如书签、历史...
JavaScript是开发Chrome扩展的核心语言,它提供了与浏览器交互的能力,包括访问和修改DOM(文档对象模型),处理用户事件,以及通过Chrome API(应用程序接口)与浏览器进行通信。Chrome API为开发者提供了丰富的...