首先介绍一个document方法execCommand:
execCommand方法是执行一个对当前文档,当前选择或者给出范围的命
令。处理Html数据时常用
如下格式:document.execCommand(sCommand[,交互方式, 动态参数])
,其中:sCommand为指令参数(如下例中的"2D-Position"),交互方
式参数如果是true的话将显示对话框,如果为false的话,则不显示对
话框(下例中的"false"即表示不显示对话框),动态参数一般为一可
用值或属性值(如下例中的"true")。
document.execCommand("2D-Position","false","true");
下面列出的是指令参数及意义
* 2D-Position 允许通过拖曳移动绝对定位的对象。
* AbsolutePosition 设定元素的 position 属性为“absolute”
(绝对)。
* BackColor 设置或获取当前选中区的背景颜色。
* BlockDirLTR 目前尚未支持。
* BlockDirRTL 目前尚未支持。
* Bold 切换当前选中区的粗体显示与否。
* BrowseMode 目前尚未支持。
* Copy 将当前选中区复制到剪贴板。
* CreateBookmark 创建一个书签锚或获取当前选中区或插入点的
书签锚的名称。
* CreateLink 在当前选中区上插入超级链接,或显示一个对话框
允许用户指定要为当前选中区插入的超级链接的 URL。
* Cut 将当前选中区复制到剪贴板并删除之。
* Delete 删除当前选中区。
* DirLTR 目前尚未支持。
* DirRTL 目前尚未支持。
* EditMode 目前尚未支持。
* FontName 设置或获取当前选中区的字体。
* FontSize 设置或获取当前选中区的字体大小。
* ForeColor 设置或获取当前选中区的前景(文本)颜色。
* FormatBlock 设置当前块格式化标签。
* Indent 增加选中文本的缩进。
* InlineDirLTR 目前尚未支持。
* InlineDirRTL 目前尚未支持。
* InsertButton 用按钮控件覆盖当前选中区。
* InsertFieldset 用方框覆盖当前选中区。
* InsertHorizontalRule 用水平线覆盖当前选中区。
* InsertIFrame 用内嵌框架覆盖当前选中区。
* InsertImage 用图像覆盖当前选中区。
* InsertInputButton 用按钮控件覆盖当前选中区。
* InsertInputCheckbox 用复选框控件覆盖当前选中区。
* InsertInputFileUpload 用文件上载控件覆盖当前选中区。
* InsertInputHidden 插入隐藏控件覆盖当前选中区。
* InsertInputImage 用图像控件覆盖当前选中区。
* InsertInputPassword 用密码控件覆盖当前选中区。
* InsertInputRadio 用单选钮控件覆盖当前选中区。
* InsertInputReset 用重置控件覆盖当前选中区。
* InsertInputSubmit 用提交控件覆盖当前选中区。
* InsertInputText 用文本控件覆盖当前选中区。
* InsertMarquee 用空字幕覆盖当前选中区。
* InsertOrderedList 切换当前选中区是编号列表还是常规格式
化块。
* InsertParagraph 用换行覆盖当前选中区。
* InsertSelectDropdown 用下拉框控件覆盖当前选中区。
* InsertSelectListbox 用列表框控件覆盖当前选中区。
* InsertTextArea 用多行文本输入控件覆盖当前选中区。
* InsertUnorderedList 切换当前选中区是项目符号列表还是常
规格式化块。
* Italic 切换当前选中区斜体显示与否。
* JustifyCenter 将当前选中区在所在格式化块置中。
* JustifyFull 目前尚未支持。
* JustifyLeft 将当前选中区所在格式化块左对齐。
* JustifyNone 目前尚未支持。
* JustifyRight 将当前选中区所在格式化块右对齐。
* LiveResize 迫使 MSHTML 编辑器在缩放或移动过程中持续更新
元素外观,而不是只在移动或缩放完成后更新。
* MultipleSelection 允许当用户按住 Shift 或 Ctrl 键时一次
选中多于一个站点可选元素。
* Open 目前尚未支持。
* Outdent 减少选中区所在格式化块的缩进。
* OverWrite 切换文本状态的插入和覆盖。
* Paste 用剪贴板内容覆盖当前选中区。
* PlayImage 目前尚未支持。
* Print 打开打印对话框以便用户可以打印当前页。
* Redo 目前尚未支持。
* Refresh 刷新当前文档。
* RemoveFormat 从当前选中区中删除格式化标签。
* RemoveParaFormat 目前尚未支持。
* SaveAs 将当前 Web 页面保存为文件。
* SelectAll 选中整个文档。
* SizeToControl 目前尚未支持。
* SizeToControlHeight 目前尚未支持。
* SizeToControlWidth 目前尚未支持。
* Stop 目前尚未支持。
* StopImage 目前尚未支持。
* StrikeThrough 目前尚未支持。
* Subs cript 目前尚未支持。
* Supers cript 目前尚未支持。
* UnBookmark 从当前选中区中删除全部书签。
* Underline 切换当前选中区的下划线显示与否。
* Undo 目前尚未支持。
* Unlink 从当前选中区中删除全部超级链接。
* Unselect 清除当前选中区的选中状态。
但是由于firefox的安全机制,里面很多的功能都被它限制了。剪贴板的访问就是其中之一。那么,我们就有只有一种方法:
那就是绕过它的安全机制。我将在下一篇文章中讨论。
在IE下问题就变得简单了:
<input id="input1" type="text" value="fdf"/>
<input type="button" value="拷贝" οnclick="copy()"/>
<input type="text"/>
<script language="javascript">
function copy(){
var a = "";
var input = document.getElementById('input1');
if(input.createTextRange)
input.select();
if(document.execCommand)
document.execCommand('Copy');
}
</script>
我们还可以用另一种方式实现:看下一篇吧!