当我在网页中复制某些内容时,会发生什么?什么将保存在剪贴板缓冲区中?
我曾经认为它是植物文本,但是,我可以在M$ Word
或某些网络WYSIWYG编辑器(例如TinyMCE
)中粘贴它的样式或图像。它不是HTML代码,否则我会在gedit
或Notepad
中看到代码。
我的主要问题是:
答案 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