165 votes

Secret copier dans le presse-papiers la fonction JavaScript dans Chrome et Firefox ?

Dans la fenêtre de console de Chrome et Firefox sur Mac je peux les exécuter

copy("party in your clipboard!");

et le texte est copié sur mon presse-papiers. J'ai cherché SI et Google et n'arrive pas à trouver quoi que ce soit sur ce.

  • Sont spécifiques à chaque navigateur?
  • Où puis-je trouver plus d'informations sur ces fonctions JavaScript?

Les versions de navigateur:

alt textalt text

JavaScript est retourné à partir de Chrome de la console lors de l'exécution de "copier"

function (object)
    {
        if (injectedScript._type(object) === "node") {
            var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
            InjectedScriptHost.copyNode(nodeId);
        } else
            InjectedScriptHost.copyText(object);
    }
  • Que fait ce code signifie?

Voici 2 captures d'écran de l'exécution de la fonction de copie dans une console Chromée avec toutes les extensions de chrome désactivé

alt text

alt text

71voto

Yi Jiang Points 28098

Je crois que ce sont prédéfinis fonctions de la console de Firebug - au moins cela semble être le cas pour Firebug. Si vous essayez d'appeler window.copy par exemple, vous obtiendrez un message d'avertissement à propos de la fonction n'est pas définie, donc ce n'est certainement pas une fonction de navigateur, et ne peuvent pas être utilisés dans des conditions normales fichiers JavaScript. Les fonctions suivantes semble également fonctionner dans la console JavaScript, après avoir joué avec un peu:

  • clear()
  • profile()

L'exécution de ces dans la console Chromée révèle la source à l'origine de ces fonctions dans le Webkit de la console:

> 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 le Pyromane source 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...

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