Mettre à jour
On dirait que les navigateurs commencent à supporter la copie de manière native dans JS
Dans les fenêtres de la console de Chrome et de Firefox sur Mac, je peux exécuter
copy("party in your clipboard!");
et le texte est copié dans mon presse-papiers. J'ai consulté SO et Google et je ne trouve rien à ce sujet.
Versions du navigateur:
JavaScript est retourné de la console Chrome lors de l'exécution de "copie"
function (object)
{
if (injectedScript._type(object) === "node") {
var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
InjectedScriptHost.copyNode(nodeId);
} else
InjectedScriptHost.copyText(object);
}
Voici 2 captures d'écran de l'exécution de la fonction de copie dans la console Chrome avec toutes les extensions chrome désactivées
Je pense que ce sont des fonctions de console Firebug prédéfinies - du moins cela semble être le cas pour Firebug. Si vous essayez par exemple d'appeler window.copy
, vous recevrez un avertissement concernant une fonction non définie. Il ne s'agit donc en aucun cas d'une fonction de navigateur et ne peut pas être utilisé dans des fichiers JavaScript normaux. Les fonctions suivantes semblent également fonctionner dans la console JavaScript, après avoir joué un peu avec elle:
clear()
profile()
Leur exécution dans la console Chrome indique la source derrière ces fonctions dans la console Webkit:
> profile
function ()
{
return console.profile.apply(console, arguments)
}
> clear
function ()
{
InjectedScriptHost.clearConsoleMessages();
}
> copy
function (object)
{
if (injectedScript._type(object) === "node")
object = object.outerHTML;
InjectedScriptHost.copyText(object);
}
Alors que source Firebug définit également une liste de fonctions:
this.clear = function() // no web page interaction
{
Firebug.Console.clear(context);
};
this.inspect = function(obj, panelName) // no web page interaction
{
Firebug.chrome.select(obj, panelName);
};
this.keys = function(o)
{
return FBL.keys(o); // the object is from the page, unwrapped
};
this.values = function(o)
{
return FBL.values(o); // the object is from the page, unwrapped
};
// etc...
Vous pouvez voir ici la commande de copie de référence des outils de développement Chrome: https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#copyobject
Vous ne devez pas utiliser ces commandes sur de vrais navigateurs multi-navigateurs JS (uniquement pour le débogage sur la console pour ainsi dire).