1

私はいくつかの chrome/firefox 拡張機能に取り組んでおり、達成したいのは、これら 2 つの間でできるだけ類似した UX を実現することです。chrome では (manifest.json を介して) chrome://newtab をオーバーライドするように登録できますが、firefox ではそれほど簡単な作業ではないことは既に理解しています。私がFirefoxで達成したいのは、ユーザーがブラウザのアクションボタンをクリックすると、ローカルのHTMLページで新しいタブが開くことです。このコードはまさにそれを行います:

var buttons = require('sdk/ui/button/action');
var tabs = require('sdk/tabs');
var wuntils = require('sdk/window/utils');

var handleClick = function (state) {
    tabs.open({
        "url": "./pages/index.html",
        "isPinned": false
    });
};

var button = buttons.ActionButton({
    id: "mozilla-link",
    label: "Visit Mozilla",
    icon: {
        "16": "./assets/logo.png",
        "32": "./assets/logo.png",
        "64": "./assets/logo.png"
    },
    onClick: handleClick
});

このアプローチの問題は、新しいタブが開かれると、アドレスバーに resource://.... URL が表示されることです。他のいくつかの拡張機能がそれを削除してアドレスバーを空のままにしているのに気付きましたが、tab.urlプロパティを変更しようとするとリダイレクトループが始まります...

新しいタブのように見せながら、アドレスバーを空のままにする方法はありますか?

ありがとう!

4

0 に答える 0