Firefox Web扩展覆盖newtab页面

时间:2017-04-19 07:37:40

标签: javascript firefox firefox-webextensions

我尝试在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);

1 个答案:

答案 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