什么是我的剪贴板?它如何与网页互动?

时间:2012-01-03 15:46:20

标签: javascript clipboard

当我在网页中复制某些内容时,会发生什么?什么将保存在剪贴板缓冲区中?

我曾经认为它是植物文本,但是,我可以在M$ Word或某些网络WYSIWYG编辑器(例如TinyMCE)中粘贴它的样式或图像。它不是HTML代码,否则我会在geditNotepad中看到代码。

我的主要问题是:

  1. 解释剪贴板知识的文件在哪里?
  2. 当我制作网页时,是否可以通过javascript控制用户将哪些副本复制到剪贴板?

5 个答案:

答案 0 :(得分:5)

在Windows上(我猜一些或大多数其他操作系统),剪贴板可以保存多种格式的数据。例如,在Word中,当您将文本复制到剪贴板时,纯文本和格式化文本都会复制到那里。您可以使用各种剪贴板功能来查看数据的可用格式。像记事本这样的纯文本编辑器将使用纯文本(如果可用);理解格式化文本的编辑器将使用它。因此,浏览器会将纯文本和HTML文本复制到剪贴板,然后粘贴时从剪贴板中拉出的程序将选择最佳格式。

  

解释剪贴板知识的文件在哪里?

对于Windows(只是为了从概念上了解这些内容如何在成熟的操作系统上运行),您可以通过围绕.Net Clipboard class及其相关接口的文档获取相关信息,比如IDataObject

对于浏览器和JavaScript,目前没有标准。有一个proposed one,但尚未广泛支持。

  

当我制作网页时,是否可以通过javascript控制用户将哪些副本复制到剪贴板?

不是我知道(除了上面提出的API),不仅仅使用JavaScript;浏览器做了它认为最好的(通常复制普通和格式化的文本)。

答案 1 :(得分:4)

背景

在Windows中,有一个纯文本剪贴板和一个MIME感知剪贴板;复制时,您将获得纯文本版丰富的HTML。像Notepad这样的文本编辑器只能从普通缓冲区中获取,而像Word这样的程序将在MIME部分中查找并尝试使用它在那里找到的HTML做一些聪明的东西。

其他操作系统中的GUI工具包可能会做类似的事情。

您的问题

  

1。解释Windows剪贴板的文件在哪里?

我不知道。

  

2。当我制作网页时,是否可以通过javascript控制用户将哪些内容复制到剪贴板?

不是真的; GUI和浏览器负责“剪贴板”甚至意味着什么。

答案 2 :(得分:2)

目前没有一种方法可以使用JUST Javascript与用户剪贴板进行交互(那里有工作草案 - 请参阅http://www.w3.org/TR/clipboard-apis/)。

但是,您可以使用ZeroClipboard控制它(例如使用Flash和Javascript界面​​)。见http://code.google.com/p/zeroclipboard/

答案 3 :(得分:0)

(有点)复制html。

只是不同的程序以不同的方式解释剪贴板。

同样的事情就像复制一个html表并将其粘贴到excel中一样。

答案 4 :(得分:0)

这是一篇关于在JavaScript中复制和粘贴的文章。您可以拦截事件并添加自己的文本来控制输出,但是像@Neal说它还取决于消费这些信息的人。

http://developer.practicalecommerce.com/articles/1906-JavaScript-s-Copy-and-Paste-Events

http://help.dottoro.com/ljwexqxl.php