要实现手机端浏览器导出书签到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的书签文件

手机端浏览器导出书签到html文件代码实现

原文地址: http://www.cveoy.top/t/topic/iRb7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录