我尝试在firefox 52浏览器的后台脚本中的webextension中执行类似的操作:
Components.utils.import("resource:///modules/NewTabURL.jsm");
NewTabURL.override(value);
但是firefox说Components.utils - undefined。 我的扩展基于chrome,所以我需要使用web扩展插件类型(。 在Firefox 54实现之前,是否可以以其他方式覆盖newtab页面?
更新:这是我的小代码,它帮助我做了newtab替换,但它有bug(
var newTabUrl = browser.extension.getURL("../index.html");
function handleActivated(activeInfo) {
console.log("Tab ", activeInfo);
if (activeInfo.url === "about:newtab") {
browser.tabs.update(activeInfo.id, {
url: newTabUrl
});
}
}
var querying = browser.tabs.query({
currentWindow: true,
active: true
});
const newtabdemo = {
getActiveTab: function() {
return browser.tabs.query({
active: true,
currentWindow: true
});
},
openNewTabPage: function() {
newtabdemo.getActiveTab().then((tab) => {
var gettingInfo = browser.tabs.get(tab[0].id);
gettingInfo.then(handleActivated);
});
}
};
browser.tabs.onCreated.addListener(newtabdemo.openNewTabPage);
答案 0 :(得分:1)
您可以为<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="profile_banner.png" HorizontalOptions="CenterAndExpand"/>
<Label Grid.Column="0" Text="{Binding ProfileName, StringFormat='Welcome, {0}'}" FontSize="Large" FontAttributes="Bold" HorizontalOptions="CenterAndExpand" TextColor="White" />
</Grid>
页面创建Chrome覆盖页面。
示例:
newtab