如何覆盖firefox中的新标签页

时间:2013-10-08 08:26:24

标签: javascript firefox firefox-addon

我想编写一个示例扩展来覆盖newtab页面,其中包含一些javascript提供的html内容。这该怎么做 ? Javascript在这里提供HTML内容:

function getFavouriteWebsite() {

    var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsINavHistoryService);
    var query = historyService.getNewQuery();
    var options = historyService.getNewQueryOptions();
    options.queryType = 0;
    options.sortingMode = options.SORT_BY_VISITCOUNT_DESCENDING;
    options.maxResults = 6;
    var result = historyService.executeQuery(query, options);
    result.root.containerOpen = true;
    var contentHtml ='';
    for (var i = 0; i < result.root.childCount; i++) {
        for (var i = 0; i < result.root.childCount; i++) {
            contentHtml += "<p><a href=\"" + result.root.getChild(i).uri + "\">" +               (result.root.getChild(i).title == "" ? result.root.getChild(i).uri : result.root.getChild(i).title) + "</a></p>";
        }
    }
    return contentHtml;
}

1 个答案:

答案 0 :(得分:0)

要覆盖newtab页面,请将browser.newtab.url首选项设置为某些HTML / XUL文档。包括该文档中的任何脚本以填充内容。

但是请不要将html片段串联在一起,因为你可能最终会得到不安全的代码,而是使用诸如document.createElement()Node.textContentNode.setAttribute之类的DOM API。