你可以在控制台使用 copy()

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

至少在 Blink/WebKit 中可以。 你无法在 JavaScript 中直接使用它,我确信这肯定与某些安全(或良好的品味)问题有关,因此不允许这样做。 执行此操作的网站往往依赖于 Flash。 但它在控制台中有效,这非常有用!

你自己的小型屏幕抓取器

这是我发现它最有用之处。 页面上有一些内容,但由于某种原因,使用鼠标复制粘贴并不容易。 也许其中一些内容是隐藏的。 也许它与你不想要的东西混合在一起。

但是,使用一些快速的 JavaScript 选择器来获取你想要的内容非常容易。

假设你正在查看 CSS-Tricks 年鉴。

你的目标是获取所有 CSS 属性的逗号分隔列表。 有多种方法可以做到这一点,但在控制台中构建你自己的快速小型屏幕抓取器会很好。

var allItems = document.querySelectorAll(".property-list .children a");

var csv = "";

[].forEach.call(allItems, function(item) {
  // do whatever
  csv += item.text + ", ";
});

copy(csv);

它输出到控制台,但也位于剪贴板中,以便于移动。

我过去甚至在 cdnjs.com 上使用它来构建一个完全符合我需要的 JSON 对象!

var newJSON = "[", name, url, thing;

$(".table-striped tbody tr").each(function(i, el) {

  thing = $(el);

  name = thing.find("td:first a").text();
  url = "https:";
  url += thing.find("td:last p").text();
  token = url.split("/");
  token = token[token.length - 1];
  token = token.split('.');
  token = token[0];

  newJSON += '{\n';
  newJSON += '  "name": "' + name + '",\n';
  newJSON += '  "value": "' + url + '",\n';
  newJSON += '  "tokens": ["' + token + '"]\n';
  newJSON += '},';

});

newJSON += "]";

copy(newJSON);

你是否曾经将 copy() 用于你认为有用的事情?