更新
看起来像browsers are starting to support copy natively in JS
在Mac上的Chrome和Firefox的控制台窗口中,我可以执行
copy("party in your clipboard!");
并将文本复制到我的剪贴板。我搜索过SO和Google,似乎无法找到任何相关信息。
浏览器版本:
执行“复制”
时从Chrome控制台返回JavaScriptfunction (object)
{
if (injectedScript._type(object) === "node") {
var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
InjectedScriptHost.copyNode(nodeId);
} else
InjectedScriptHost.copyText(object);
}
以下是在Chrome控制台中执行复制功能的2个屏幕截图,其中禁用了所有Chrome扩展程序
答案 0 :(得分:58)
我相信这些是预定义的Firebug控制台功能 - 至少对于Firebug而言似乎就是这种情况。例如,如果您尝试调用window.copy
,则会收到有关未定义函数的警告,因此它绝对不是浏览器函数,并且不能在普通JavaScript文件中使用。以下函数似乎也可以在JavaScript控制台中使用,稍后再玩一下:
clear()
profile()
在Chrome控制台中运行这些功能会在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);
}
虽然Firebug source也定义了一系列功能:
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...
答案 1 :(得分:0)
在这里您可以看到Chrome Dev工具的参考复制命令: https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#copyobject
您不应在真正的JS跨浏览器上使用此命令(仅用于在可以说的控制台上进行调试)。