user10273827
user10273827

Reputation:

Firefox Extension Global Variables and onInstalled

I have a chrome extension that uses the Omnibox API. I want to port this extension to firefox by myself.

I've tried nearly everything that may help, and miserably, I'm exhausted and out of solutions.

Anyway, the extension basically does these steps in Chrome with no errors:

  1. Load global variable called sites which is an array of object
var sites = [
    {
        "name":"ytb",
        "desc":"YouTube",
        "url":"https://www.youtube.com/results?search_query={%query%}"
    },
    {
        "name":"ggl",
        "desc":"Google",
        "url":"https://www.google.com/search?q={%query%}"
    },
    {
        "name":"dvand",
        "desc": "Android Devs",
        "url": "https://developer.android.com/s/results?q={%query%}"
    },
    {
        "name":"bng",
        "desc":"Bing",
        "url":"https://www.bing.com/search?q={%query%}"
    },
...
];
  1. Save sites object to storage.local on runtime.onInstalled:
browser.runtime.onInstalled.addListener((details) => {
    if (details.reason == "install") {
        console.log("First install");
        save(); //which saves sites to local storage...
        load(); //which load sites from local storage...
    }
});

Here is the save and load functions:

function save() {
    browser.storage.local.set({"ssearch_sites":sites}, () => {
        console.log("Saved!",sites);
        sites = sites;
    });
}
function load() {
    browser.storage.local.get('ssearch_sites', (res) => {
        console.log("Got!",res.ssearch_sites);
        sites = res.ssearch_sites;
    });
}

I think the problems could be relying on these:

Oh, and I must say, when

I run the extension from these:

web-ext run

It works sometimes as expected, but when I download it from the store, it does not work. How could this even possible? I mean how works on testing and does not work on the production stage?

One more thing, do you know an alternative to local storage API?

Thanks!

Source codes are here:

Google Chrome version

Firefox version

Upvotes: 0

Views: 306

Answers (0)

Related Questions