636 votes

Javascript / Chrome - Comment copier un objet de l'inspecteur Webkit en tant que code ?

Je fais une déclaration console.log dans mon javascript afin d'enregistrer un objet javascript. Je me demande s'il y a un moyen, une fois que c'est fait, de copier cet objet en tant que code javascript. Ce que j'essaie de faire est de convertir un objet qui a été créé en utilisant ajax pour analyser un flux xml dans un objet javascript statique afin qu'un fichier puisse être exécuté localement, sans serveur. J'ai inclus une capture d'écran de l'objet dans la fenêtre de l'inspecteur de chrome pour que vous puissiez voir ce que j'essaie de faire. enter image description here

1598voto

kevnk Points 7212
  1. Cliquez avec le bouton droit sur un objet dans la console de Chrome et sélectionnez Store as Global Variable dans le menu contextuel. Il retournera quelque chose comme temp1 comme nom de variable.

  2. Chrome dispose également d'une copy() donc copy(temp1) dans la console devrait copier cet objet dans votre presse-papiers.

Copy Javascript Object in Chrome DevTools

Note sur les objets récursifs : Si vous essayez de copier un objet récursif, vous obtiendrez [object Object] . Le moyen de s'en sortir est d'essayer copy(JSON.stringify(temp1)) l'objet sera entièrement copié dans votre presse-papiers sous la forme d'un JSON valide, ce qui vous permettra de le formater comme vous le souhaitez, en utilisant l'une des nombreuses ressources.

Si vous obtenez le Uncaught TypeError: Converting circular structure to JSON vous pouvez utiliser JSON.stringify (qui est une fonction de filtrage) pour éliminer les propriétés circulaires incriminées. Voir ce qui suit Réponse de Stack Overflow pour plus de détails.

73voto

Salman A Points 60620

Dans Chrome 89 ou ultérieur, vous pouvez simplement faire un clic droit sur un objet dans la console et choisir Copy Object ( réf. ). Cela fonctionne également à d'autres endroits dans les outils de développement de Chrome, par exemple pendant le débogage ou dans l'onglet de réponse d'une requête réseau.

L'autre option consiste à utiliser le copy tel quel :

var x = { a: 1, b: 2 };
copy(x);

Réponse originale

45voto

Sudharshan Points 19

Vous pouvez copier un objet sur votre presse-papiers à l'aide de la fonction copy(JSON.stringify(Object_Name)) ; dans la console.

Ex : - Copiez et collez le code ci-dessous dans votre console et appuyez sur ENTER. Maintenant, essayez de le coller (CTRL+V pour Windows ou CMD+V pour Mac) à un autre endroit et vous obtiendrez {"name":"Daniel","age":25}

var profile = {
    name: "Daniel",
    age: 25
};

copy(JSON.stringify(profile));

25voto

David Calhoun Points 693

Vous pouvez maintenant le faire dans Chrome en cliquant avec le bouton droit de la souris sur l'objet et en sélectionnant "Store as Global Variable" : http://www.youtube.com/watch?v=qALFiTlVWdg

enter image description here

13voto

sufinawaz Points 576

Suivez les étapes suivantes :

  1. Affichez l'objet avec console.log depuis votre code, comme suit : console.log(myObject)
  2. Faites un clic droit sur l'objet et cliquez sur "Store as Global Object". À ce stade, Chrome imprime le nom de la variable. Supposons qu'elle s'appelle "temp1".
  3. Dans la console, tapez : JSON.stringify(temp1) .
  4. À ce stade, vous verrez l'objet JSON entier sous la forme d'une chaîne de caractères que vous pouvez copier/coller.
  5. Vous pouvez utiliser des outils en ligne comme http://www.jsoneditoronline.org/ pour embellir votre chaîne à ce stade.

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