This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

String format in about:config for Top Sites with labels

more options

I would like to pin some sites to Top Sites via mozilla.cfg. I have mozilla.cfg file, every changes and modifications works as expected, but after adding browser.newtabpage.pinned string copied from about:config, loading of mozilla.cfg end up with syntax error. The line in mozilla.cfg looks like this:

lockPref("browser.newtabpage.pinned", "[{"url":"https://1.site1.de/","label":"S1","baseDomain":"site1.de"},{"url":"https://2.site2.com/","label":"S2","baseDomain":"site2.com"},{"url":"https://3.site3.fr/index.pl","label":"S3"}]");

I don't know, where to add quotes and where/which brackets.

I would like to pin some sites to Top Sites via mozilla.cfg. I have mozilla.cfg file, every changes and modifications works as expected, but after adding browser.newtabpage.pinned string copied from about:config, loading of mozilla.cfg end up with syntax error. The line in mozilla.cfg looks like this: lockPref("browser.newtabpage.pinned", "[{"url":"https://1.site1.de/","label":"S1","baseDomain":"site1.de"},{"url":"https://2.site2.com/","label":"S2","baseDomain":"site2.com"},{"url":"https://3.site3.fr/index.pl","label":"S3"}]"); I don't know, where to add quotes and where/which brackets.

Chosen solution

This issue is because you are enclosing quotes inside of quotes. Firefox doesn't know where one quote begins and the other ends.

For example, in the code that you have provided, Firefox sees "[{" as one quote and ":" as the second thing side of the quotes.

Instead, you will went to enclose the second part of the lockPref with a single quote ( ' ) instead. This way Firefox will open up the quote and assume that everything after that quote a string until it sees the next ' in your code.

Basically, your code should be, instead:

lockPref("browser.newtabpage.pinned", '[{"url":"https://1.site1.de/","label":"S1","baseDomain":"site1.de"},{"url":"https://2.site2.com/","label":"S2","baseDomain":"site2.com"},{"url":"https://3.site3.fr/index.pl","label":"S3"}]');

Hope this helps.

Read this answer in context 👍 1

All Replies (3)

more options

Chosen Solution

This issue is because you are enclosing quotes inside of quotes. Firefox doesn't know where one quote begins and the other ends.

For example, in the code that you have provided, Firefox sees "[{" as one quote and ":" as the second thing side of the quotes.

Instead, you will went to enclose the second part of the lockPref with a single quote ( ' ) instead. This way Firefox will open up the quote and assume that everything after that quote a string until it sees the next ' in your code.

Basically, your code should be, instead:

lockPref("browser.newtabpage.pinned", '[{"url":"https://1.site1.de/","label":"S1","baseDomain":"site1.de"},{"url":"https://2.site2.com/","label":"S2","baseDomain":"site2.com"},{"url":"https://3.site3.fr/index.pl","label":"S3"}]');

Hope this helps.

more options

You need to escape all quotes inside the JSON string (\").

lockPref("browser.newtabpage.pinned", "[{\"url\":\"https://1.site1.de/\",\"label\":\"S1\",\"baseDomain\":\"site1.de\"},{\"url\":\"https://2.site2.com/\",\"label\":\"S2\",\"baseDomain\":\"site2.com\"},{\"url\":\"https://3.site3.fr/index.pl\",\"label\":\"S3\"}]");
more options

(Deleted duplicate suggestion)

Modified by jscher2000 - Support Volunteer