Est-il possible de modifier la page d'accueil du navigateur et le paramètre d'URL d'un nouvel onglet via JavaScript ou une URL à partir d'un script de page? [dupliquer]
Cette question a déjà une réponse ici:
Je veux définir la page d'accueil et le nouvel onglet URL sur Firefox et Chrome. Lorsque l'utilisateur clique sur un bouton de ma page Web, il change automatiquement la page d'accueil du navigateur.
- Quand nous allons à
about:config
sur le Firefox, nous avons toute la configuration à personnaliser. Il y a un nom de préférencebrowser.newtab.url
- Je dois définir/modifier cette valeur à mon URL personnalisée.
Est-il possible de modifier cette valeur de chaîne par JavaScript ou via une URL sur laquelle l'utilisateur clique?
- Je dois changer l'URL du nouvel onglet Chrome par JavaScript ou via une URL sur laquelle l'utilisateur clique.
Je ne sais pas si c'est possible ou non.
Si vous connaissez un moyen de changer ces choses, alors dites-le.
1 answers
Réponse partielle (pour Firefox, ne pas utiliser un script de page) peut être:
var about_config = require('sdk/preferences/service');
about_config.set('browser.startup.homepage', 'http://www.stackoverflow.com');
about_config.set('browser.newtab.url', 'http://www.stackoverflow.com');
Cela entraînera about:home
et about:newtab
pour rediriger vers votre URL. Pourtant, il n'affectera pas about:blank
. En fait, lorsque vous tapez manuellement about:home
ou about:newtab
(au lieu d'ouvrir un nouvel onglet ou de cliquer sur le bouton de la page d'accueil), le remplacement dans about:config
ne semble toujours pas se déclencher.
require('sdk/preferences/service')
expose les mêmes paramètres qui sont accessibles en tapant about:config
dans la barre d'adresse.
Cependant, il semble exister un obligation d'annuler les modifications ultérieurement:
/ / Par politique AMO les préférences globales doivent être changées à leur original
var { when: unload } = require('sdk/system/unload');
unload( function() {
about_config.set('browser.startup.homepage', oldValue);
about_config.set('browser.newtab.url', oldValue);
});
Si vous souhaitez suivre cette exigence, vous pouvez obtenir d'anciennes valeurs en utilisant .get()
au lieu de .set()
.