Secret copy to clipboard JavaScript function in Chrome and Firefox?
Update
Looks like browsers are starting to support copy natively in JS
In the console windows of both Chrome and Firefox on Mac I can execute
copy("party in your clipboard!");
and the text gets copied to my clipboard. I have searched SO and Google and can't seem to find anything on this.
Browser versions:
JavaScript returned from Chrome console when executing 'copy'
function (object)
{
if (injectedScript._type(object) === "node") {
var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
InjectedScriptHost.copyNode(nodeId);
} else
InjectedScriptHost.copyText(object);
}
Here are 2 screenshots of executing copy function in Chrome console with all chrome extensions disabled
I believe these are predefined Firebug console functions - at least that seems to be the case for Firebug. If you try calling window.copy
for instance, you'll get a warning about function not defined, so it's definitely not a browser function, and cannot be used in normal JavaScript files. The following functions also seems to work in the JavaScript console, after playing around with it a bit:
clear()
profile()
Running these in the Chrome console reveals the source behind these functions in the Webkit 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);
}
While the Firebug source also defines a list of functions:
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...
链接地址: http://www.djcxy.com/p/61328.html