Chrome和Firefox中的秘密复制到剪贴板JavaScriptfunction?
更新
看起来浏览器开始在JS中本地支持复制
在Mac上的Chrome和Firefox的控制台窗口中,我都可以执行
copy("party in your clipboard!");
并将文本复制到我的剪贴板。 我已经search过,谷歌,似乎无法find任何东西。
- 这些是针对每个浏览器的吗?
- 我在哪里可以find关于这些JavaScript函数的更多信息?
浏览器版本:
执行“复制”时从Chrome控制台返回的JavaScript
function (object) { if (injectedScript._type(object) === "node") { var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false); InjectedScriptHost.copyNode(nodeId); } else InjectedScriptHost.copyText(object); }
- 这个代码是什么意思?
以下是在Chrome控制台中执行复制function的两个屏幕截图,其中禁用了所有的Chrome扩展
我相信这些是预定义的Firebug控制台function – 至less对于Firebug来说似乎是这样。 如果你尝试调用window.copy
作为例子,你会得到一个关于函数没有定义的警告,所以它绝对不是浏览器函数,不能在普通的JavaScript文件中使用。 下面的函数似乎在JavaScript控制台中工作后,稍微玩了一下:
-
clear()
-
profile()
在Chrome控制台中运行这些function可以在Webkit控制台中看到这些function的来源:
> 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来源也定义了一系列function:
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...