it-swarm.com.de

Geheime Kopie in die Zwischenablage JavaScript-Funktion in Chrome und Firefox?

Update

Sieht so aus, als ob Browser beginnen, natives Kopieren in JS zu unterstützen


In den Konsolenfenstern von Chrome und Firefox unter Mac kann ich das ausführen

copy("party in your clipboard!");

und der Text wird in meine Zwischenablage kopiert. Ich habe SO und Google gesucht und kann anscheinend nichts dazu finden. 

  • Sind diese für jeden Browser spezifisch?
  • Wo finde ich weitere Informationen zu diesen JavaScript-Funktionen?

Browserversionen:

alt textalt text

Bei der Ausführung von 'copy' wurde JavaScript von der Chrome-Konsole zurückgegeben

function (object)
    {
        if (injectedScript._type(object) === "node") {
            var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
            InjectedScriptHost.copyNode(nodeId);
        } else
            InjectedScriptHost.copyText(object);
    }
  • Was bedeutet dieser Code?

Hier sind 2 Screenshots der Ausführung der Kopierfunktion in Chrome Console, wobei alle Chrome-Erweiterungen deaktiviert sind

alt text

alt text

135
Mike Grace

Ich glaube, das sind vordefinierte Firebug-Konsolenfunktionen - zumindest scheint dies für Firebug der Fall zu sein. Wenn Sie beispielsweise versuchen, window.copy aufzurufen, wird eine Warnung zu einer nicht definierten Funktion angezeigt, sodass es sich definitiv nicht um eine Browserfunktion handelt und in normalen JavaScript-Dateien nicht verwendet werden kann. Die folgenden Funktionen scheinen auch in der JavaScript-Konsole zu funktionieren, nachdem Sie ein wenig damit herumgespielt haben:

  • clear()
  • profile()

Wenn Sie diese in der Chrome -Konsole ausführen, wird die Quelle für diese Funktionen in der Webkit-Konsole angezeigt:

> 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);
}

Während Firebug-Quelle auch eine Liste von Funktionen definiert:

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...
58
Yi Jiang

Hier können Sie den Befehl zum Kopieren der Referenzen der Chrome Dev-Tools sehen: https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#copyobject

Sie sollten diese Befehle nicht für echte JS-Cross-Browser verwenden (nur für das Debugging auf der Konsole sozusagen).

0
morhook