我想编写一个示例扩展来覆盖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;
}
答案 0 :(得分:0)
要覆盖newtab页面,请将browser.newtab.url
首选项设置为某些HTML / XUL文档。包括该文档中的任何脚本以填充内容。
但是请不要将html片段串联在一起,因为你可能最终会得到不安全的代码,而是使用诸如document.createElement()
,Node.textContent
,Node.setAttribute
之类的DOM API。