104 votes

Puis-je ouvrir par programme les devtools à partir d'une extension Google Chrome?

J'ai une extension chromée qui s'accroche dans les devtools. Idéalement, je veux un badge qui, lorsque vous cliquez dessus, ouvre les devtools sur le nouvel onglet que j'ai créé. Est-il possible de le faire à partir de la page d’arrière-plan?

29voto

lokeshsk Points 81

Il semble peu probable que cela soit possible ou le deviendra jamais,

vérifiez ceci: https://code.google.com/p/chromium/issues/detail?id=112277

qui dit: "Nous n'autorisons que l'ouverture explicite de devtools."

7voto

Derek 朕會功夫 Points 23487

Oui, vous pouvez (ou non) utiliser les API expérimentales chrome.experimental.webInspector .
http://code.google.com/chrome/extensions/experimental.html
Vous pouvez même en changer le contenu et les panneaux.
Notez que vous ne pourrez pas soumettre d’extensions utilisant des API expérimentales.

2voto

ChristopheCVB Points 4355

Malheureusement, il n'y a pas moyen de faire ça ...

Le lien chrome: // chromewebdata ne fonctionne que si une instance de dev tools est déjà ouverte ...

-3voto

Alasdair Points 1652

C'est un peu hacky mais je pense qu'il vaut la peine d'essayer.

Une fois que vous avez créé un nouvel onglet injecter le contenu suivant script dans la page;

(function () {
    var event = document.createEvent('KeyboardEvent');
    event.initKeyboardEvent(
        'keydown', // event type
        true, // can bubble
        true, // can be canceled
        window, // view
        'U+0049', // keyboard identifier for "I"
        KeyboardEvent.DOM_KEY_LOCATION_STANDARD, // standard location
        'Control Shift' // modifiers
    );
    if (!document.dispatchEvent(event)) {
        // Was canceled, you're screwed
        console.log('Canceled');
    } else {
        // Can you see the web inspector?
        console.log('Success');
    }
})();

Il va tenter de le feu la touche de raccourci associée avec le Développeur de l'élément de menu outils. Malheureusement, ce n'est pas listée dans google Chrome, la section d'aide , mais vous pouvez le voir sur votre installation que c'est Ctrl+Shift+I. Vous aurez besoin de vérifier si l'utilisateur est sur Mac et modifier les touches en conséquence, mais ce n'est pas dur.

Je ne suis pas sûr si cela va fonctionner et je n'ai pas le temps de tester ce droit maintenant, mais je suis très curieux de voir si elle n'.

Il pourrait également être utile pour en savoir plus sur l'événement.initKeyboardEvent (et peut-être même de l'événement.initKeyEvent) pour ne pas vous faire jeter parce que j'ai donné a utilisé un faux argument, dans mon petit mock up.

Bonne chance!

EDIT:

Comme @Derek l'a souligné, event.initKeyEvent est uniquement pris en charge par FireFox. Toutefois, event.initKeyboardEvent fonctionne avec google Chrome. J'ai mis à jour le code, même si cela ne fonctionne toujours pas. Il enregistre "Succès" sur la console, mais il ne déclenche pas l'inspecteur web de l'affichage. Je ne suis qu'à la mise à jour de ce post comme il peut, nous l'espérons aider les autres à trouver une solution.

http://jsfiddle.net/alasdair/Lg2hT/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X