手机端浏览器导出书签到html文件代码实现
要实现手机端浏览器导出书签到HTML文件,可以使用JavaScript编写以下代码:
function exportBookmarks() {
if (window.chrome && window.chrome.bookmarks) { // Chrome浏览器
chrome.bookmarks.getTree(function(bookmarkTreeNodes) {
var bookmarks = parseBookmarks(bookmarkTreeNodes);
downloadBookmarks(bookmarks);
});
} else if (window.safari && window.safari.extension) { // Safari浏览器
safari.extension.globalPage.contentWindow.safari.bookmarks.getBookmarkFolders(function(bookmarkFolders) {
safari.extension.globalPage.contentWindow.safari.bookmarks.getBookmarks(bookmarkFolders, function(bookmarkTreeNodes) {
var bookmarks = parseBookmarks(bookmarkTreeNodes);
downloadBookmarks(bookmarks);
});
});
} else if (window.opera && window.opera.bookmarks) { // Opera浏览器
opera.bookmarks.search({}, function(bookmarkTreeNodes) {
var bookmarks = parseBookmarks(bookmarkTreeNodes);
downloadBookmarks(bookmarks);
});
} else if (window.external && window.external.GetFavorites) { // IE浏览器
var bookmarkTreeNodes = window.external.GetFavorites();
var bookmarks = parseBookmarks(bookmarkTreeNodes);
downloadBookmarks(bookmarks);
} else {
console.log("该浏览器不支持导出书签功能。");
}
}
function parseBookmarks(bookmarkTreeNodes) {
var bookmarks = [];
for (var i = 0; i < bookmarkTreeNodes.length; i++) {
var node = bookmarkTreeNodes[i];
if (node.url) {
bookmarks.push({
title: node.title,
url: node.url
});
}
if (node.children) {
bookmarks.push.apply(bookmarks, parseBookmarks(node.children));
}
}
return bookmarks;
}
function downloadBookmarks(bookmarks) {
var html = "<!DOCTYPE NETSCAPE-Bookmark-file-1>\n";
html += "<!-- This is an automatically generated file.\n";
html += " It will be read and overwritten.\n";
html += " DO NOT EDIT! -->\n";
html += "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">\n";
html += "<TITLE>Bookmarks</TITLE>\n";
html += "<H1>Bookmarks</H1>\n";
html += "<DL><p>\n";
for (var i = 0; i < bookmarks.length; i++) {
html += "<DT><A HREF=\"" + bookmarks[i].url + "\">" + bookmarks[i].title + "</A>\n";
}
html += "</DL><p>\n";
var a = document.createElement("a");
var file = new Blob([html], {type: "text/html"});
a.href = URL.createObjectURL(file);
a.download = "bookmarks.html";
a.click();
}
// 调用导出书签函数
exportBookmarks();
将以上代码添加到页面的<script>标签内或者外部的JavaScript文件中,然后调用exportBookmarks()函数即可实现导出书签到HTML文件。当点击导出书签按钮时,会自动下载名为bookmarks.html的书签文件
原文地址: http://www.cveoy.top/t/topic/iRb7 著作权归作者所有。请勿转载和采集!