Question

Dans Firebug, l'onglet DOM affiche une liste de toutes vos variables publiques et des objets. Dans la console de Chrome, vous devez taper le nom de la variable publique ou de l'objet que vous voulez explorer.

Est-il possible - ou tout au moins une commande - pour la console de Chrome pour afficher une liste de toutes les variables publiques et des objets? Il permettra d'économiser beaucoup de taper.

Était-ce utile?

La solution

Est-ce le genre de sortie que vous cherchez?

for(var b in window) { 
  if(window.hasOwnProperty(b)) console.log(b); 
}

Cette liste est disponible sur tout l'objet window (toutes les fonctions et variables, par exemple, $ et jQuery sur cette page, etc.). Bien, cela est tout à fait une liste; ne sais pas comment il est utile ...

Sinon juste faire window et commencer à descendre son arbre:

window

Cela vous donnera DOMWindow, un objet extensible / explorable.

Autres conseils

Lors de l'exécution du script est interrompue (par exemple, sur un point d'arrêt), vous pouvez simplement consulter tous les globals dans le volet droit de la fenêtre Outils de développement:

< img src = "https://farm4.static.flickr.com/3399/4649969826_38bab44126.jpg" width = "500" height = "356" alt = "chrome-globals">

Ouvrez la console, puis entrez:

  • keys(window) voir les variables
  • dir(window) voir les objets

L'objet window contient toutes les variables publiques, de sorte que vous pouvez taper dans la console puis développez pour afficher toutes les variables / attributs / fonctions.

chrome-show-all-variables dilatent-window-objet

Si vous voulez exclure toutes les propriétés standard de l'objet de la fenêtre et vue GLOBALS spécifiques à l'application, ce qui les imprimer à la console Chrome:

(function(){var standardGlobals=["top","window","location","external","chrome","document","inlineCSS","target","width","height","canvas","data","DOMURL","img","svg","ctx","url","w","a","speechSynthesis","webkitNotifications","localStorage","sessionStorage","applicationCache","webkitStorageInfo","indexedDB","webkitIndexedDB","crypto","CSS","performance","console","devicePixelRatio","styleMedia","parent","opener","frames","self","defaultstatus","defaultStatus","status","name","length","closed","pageYOffset","pageXOffset","scrollY","scrollX","screenTop","screenLeft","screenY","screenX","innerWidth","innerHeight","outerWidth","outerHeight","offscreenBuffering","frameElement","clientInformation","navigator","toolbar","statusbar","scrollbars","personalbar","menubar","locationbar","history","screen","postMessage","close","blur","focus","ondeviceorientation","ondevicemotion","onunload","onstorage","onresize","onpopstate","onpageshow","onpagehide","ononline","onoffline","onmessage","onhashchange","onbeforeunload","onwaiting","onvolumechange","ontimeupdate","onsuspend","onsubmit","onstalled","onshow","onselect","onseeking","onseeked","onscroll","onreset","onratechange","onprogress","onplaying","onplay","onpause","onmousewheel","onmouseup","onmouseover","onmouseout","onmousemove","onmouseleave","onmouseenter","onmousedown","onloadstart","onloadedmetadata","onloadeddata","onload","onkeyup","onkeypress","onkeydown","oninvalid","oninput","onfocus","onerror","onended","onemptied","ondurationchange","ondrop","ondragstart","ondragover","ondragleave","ondragenter","ondragend","ondrag","ondblclick","oncuechange","oncontextmenu","onclose","onclick","onchange","oncanplaythrough","oncanplay","oncancel","onblur","onabort","onwheel","onwebkittransitionend","onwebkitanimationstart","onwebkitanimationiteration","onwebkitanimationend","ontransitionend","onsearch","getSelection","print","stop","open","showModalDialog","alert","confirm","prompt","find","scrollBy","scrollTo","scroll","moveBy","moveTo","resizeBy","resizeTo","matchMedia","requestAnimationFrame","cancelAnimationFrame","webkitRequestAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","captureEvents","releaseEvents","atob","btoa","setTimeout","clearTimeout","setInterval","clearInterval","TEMPORARY","PERSISTENT","getComputedStyle","getMatchedCSSRules","webkitConvertPointFromPageToNode","webkitConvertPointFromNodeToPage","webkitRequestFileSystem","webkitResolveLocalFileSystemURL","openDatabase","addEventListener","removeEventListener","dispatchEvent"];
    var appSpecificGlobals={};
    for (var w in window){
        if (standardGlobals.indexOf(w)==-1) appSpecificGlobals[w]=window[w];
    }
    console.log(appSpecificGlobals);})()

Le script fonctionne bien comme un bookmarklet. Pour utiliser le script comme un bookmarklet, créez un nouveau signet et remplacer l'URL par ce qui suit:

javascript:(function(){var standardGlobals=["top","window","location","external","chrome","document","inlineCSS","target","width","height","canvas","data","DOMURL","img","svg","ctx","url","w","a","speechSynthesis","webkitNotifications","localStorage","sessionStorage","applicationCache","webkitStorageInfo","indexedDB","webkitIndexedDB","crypto","CSS","performance","console","devicePixelRatio","styleMedia","parent","opener","frames","self","defaultstatus","defaultStatus","status","name","length","closed","pageYOffset","pageXOffset","scrollY","scrollX","screenTop","screenLeft","screenY","screenX","innerWidth","innerHeight","outerWidth","outerHeight","offscreenBuffering","frameElement","clientInformation","navigator","toolbar","statusbar","scrollbars","personalbar","menubar","locationbar","history","screen","postMessage","close","blur","focus","ondeviceorientation","ondevicemotion","onunload","onstorage","onresize","onpopstate","onpageshow","onpagehide","ononline","onoffline","onmessage","onhashchange","onbeforeunload","onwaiting","onvolumechange","ontimeupdate","onsuspend","onsubmit","onstalled","onshow","onselect","onseeking","onseeked","onscroll","onreset","onratechange","onprogress","onplaying","onplay","onpause","onmousewheel","onmouseup","onmouseover","onmouseout","onmousemove","onmouseleave","onmouseenter","onmousedown","onloadstart","onloadedmetadata","onloadeddata","onload","onkeyup","onkeypress","onkeydown","oninvalid","oninput","onfocus","onerror","onended","onemptied","ondurationchange","ondrop","ondragstart","ondragover","ondragleave","ondragenter","ondragend","ondrag","ondblclick","oncuechange","oncontextmenu","onclose","onclick","onchange","oncanplaythrough","oncanplay","oncancel","onblur","onabort","onwheel","onwebkittransitionend","onwebkitanimationstart","onwebkitanimationiteration","onwebkitanimationend","ontransitionend","onsearch","getSelection","print","stop","open","showModalDialog","alert","confirm","prompt","find","scrollBy","scrollTo","scroll","moveBy","moveTo","resizeBy","resizeTo","matchMedia","requestAnimationFrame","cancelAnimationFrame","webkitRequestAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","captureEvents","releaseEvents","atob","btoa","setTimeout","clearTimeout","setInterval","clearInterval","TEMPORARY","PERSISTENT","getComputedStyle","getMatchedCSSRules","webkitConvertPointFromPageToNode","webkitConvertPointFromNodeToPage","webkitRequestFileSystem","webkitResolveLocalFileSystemURL","openDatabase","addEventListener","removeEventListener","dispatchEvent"]; var $appSpecificGlobals={};for (var w in window){if (standardGlobals.indexOf(w)==-1) $appSpecificGlobals[w]=window[w];} window.$appSpecificGlobals=$appSpecificGlobals;console.log(window.$appSpecificGlobals);})()

David Walsh a une bonne solution pour cela. Voici mon avis sur ce, en combinant sa solution avec ce qui a été découvert sur ce fil ainsi.

https://davidwalsh.name/global-variables-javascript

x = {};
var iframe = document.createElement('iframe');
iframe.onload = function() {
    var standardGlobals = Object.keys(iframe.contentWindow);
    for(var b in window) { 
      const prop = window[b];
      if(window.hasOwnProperty(b) && prop && !prop.toString().includes('native code') && !standardGlobals.includes(b)) {
        x[b] = prop;
      }
    }
    console.log(x)
};
iframe.src = 'about:blank';
document.body.appendChild(iframe);

x a maintenant seulement globals.

Vous pouvez essayer cette Firebug Lite extension pour Chrome.

Mise à jour de la méthode même article AVINDRA mentionné - injectent Iframe et comparer ses propriétés contentWindow au global propriétés de fenêtre.

(function() {
  var iframe = document.createElement('iframe');
  iframe.onload = function() {
    var iframeKeys = Object.keys(iframe.contentWindow);
    Object.keys(window).forEach(function(key) {
      if(!(iframeKeys.indexOf(key) > -1)) {
        console.log(key);
      }
    });
  };
  iframe.src = 'about:blank';
  document.body.appendChild(iframe);
})();

Tapez l'instruction suivante dans la console javascript:

debugger

Vous pouvez maintenant vérifier la portée globale à l'aide des outils de débogage normaux.

Pour être juste, vous aurez tout dans le périmètre de window, y compris navigateur Encastrements, il pourrait être une sorte d'une aiguille dans une botte de foin expérience. : /

Pour afficher une variable en chrome, allez dans « Sources », puis « Watch » et l'ajouter. Si vous ajoutez ici la variable « fenêtre », vous pouvez développer et explorer.

Comme toutes les « variables » sont publiques dans les propriétés de fait de l'objet de la fenêtre (de la fenêtre / onglet vous regardez), vous pouvez juste inspecter l'objet « fenêtre » à la place. Si vous disposez de plusieurs cadres, vous devrez sélectionner l'objet fenêtre correcte (comme dans Firebug) de toute façon.

entrer image description ici

Essayez cette commande simple:

console.log(window)

Type: this dans la console,

pour obtenir le window object je pense (?), Je pense qu'il est fondamentalement la même chose que taper window dans la console.

Il fonctionne au moins dans Firefox et Chrome.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top