Javascript中Command()的⽤法Command()⽅法处理Html数据时常⽤语法格式如下:
其中:sCommand为指令参数(如下例中的”2D-Position”),交互⽅式参数如果是true的话将显⽰对话框,如果为false的话,则不显⽰对话框(下例中的”false”即表⽰不显⽰对话框),动态参数⼀般为⼀可⽤值或属性值(如下例中的”true”)。
调⽤execCommand()可以实现浏览器菜单的很多功能. 如保存⽂件,打开新⽂件,撤消、重做操作…等等. 有了这个⽅法,就可以很容易的实现⽹页中的⽂本编辑器.
如果灵活运⽤,可以很好的辅助我们完成各种项⽬.
使⽤的例⼦如下:
1、〖全选〗命令的实现
[格式]:Command(”selectAll”)
[说明]将选种⽹页中的全部内容!
[举例]在之间加⼊:
全选
2、〖打开〗命令的实现
[格式]:Command(”open”)
[说明]这跟VB等编程设计中的webbrowser控件中的命令有些相似,⼤家也可依此琢磨琢磨。
[举例]在之间加⼊:
打开
3、〖另存为〗命令的实现
[格式]:Command(”saveAs”)
[说明]将该⽹页保存到本地盘的其它⽬录!
[举例]在之间加⼊:
另存为
4、〖打印〗命令的实现
[格式]:Command(”print”)
[说明]当然,你必须装了打印机!
[举例]在之间加⼊:
打印
Js代码下⾯列出的是指令参数及意义
//相当于单击⽂件中的打开按钮
//将当前页⾯另存为
//剪贴选中的⽂字到剪贴板;
//删除选中的⽂字;
//改变选中区域的字体;
//改变选中区域的字体⼤⼩;
//设置前景颜⾊;
/
/使绝对定位的对象可直接拖动;
//使对象定位变成绝对定位;
//设置背景颜⾊;
//使选中区域的⽂字加粗;
//复制选中的⽂字到剪贴板;
//设置指定锚点为书签;
//将选中⽂本变成超连接,若第⼆个参数为true,会出现参数设置对话框;
//设置当前块的标签名;
//相当于单击⽂件中的打开按钮
//将当前页⾯另存为
//剪贴选中的⽂字到剪贴板;
/
/删除选中的⽂字;
//改变选中区域的字体;
//改变选中区域的字体⼤⼩;
//设置前景颜⾊;
//使绝对定位的对象可直接拖动;
//使对象定位变成绝对定位;
//设置背景颜⾊;
//使选中区域的⽂字加粗;
//复制选中的⽂字到剪贴板;
//设置指定锚点为书签;
//将选中⽂本变成超连接,若第⼆个参数为true,会出现参数设置对话框;
/
/设置当前块的标签名;
document对象execCommand通常在IE中在线处理Html数据时⾮常有⽤,它可以让你轻⽽易举实现⽂字的加粗、加颜⾊、加字体等⼀系列的命令。
D-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 ⽬前尚未⽀持。indexof的用法javascript
Print 打开打印对话框以便⽤户可以打印当前页。
Redo ⽬前尚未⽀持。
Refresh 刷新当前⽂档。
RemoveFormat 从当前选中区中删除格式化标签。
RemoveParaFormat ⽬前尚未⽀持。
SaveAs 将当前 Web 页⾯保存为⽂件。
SelectAll 选中整个⽂档。
SizeToControl ⽬前尚未⽀持。
SizeToControlHeight ⽬前尚未⽀持。
SizeToControlWidth ⽬前尚未⽀持。
Stop ⽬前尚未⽀持。
StopImage ⽬前尚未⽀持。
StrikeThrough ⽬前尚未⽀持。
Subscript ⽬前尚未⽀持。
Superscript ⽬前尚未⽀持。
UnBookmark 从当前选中区中删除全部书签。
Underline 切换当前选中区的下划线显⽰与否。
Undo ⽬前尚未⽀持。
Unlink 从当前选中区中删除全部超级链接。
Unselect 清除当前选中区的选中状态。
关于Command:
要执⾏编辑命令,可调⽤ Command,并传递对应于命令 ID 的字符串。另外还有可选的第⼆个参数,该参数指定如果可以应⽤的话是否显⽰此命令的⽤户界⾯。传递整数 1 将显⽰⽤户界⾯,整数 0 将跳过它。这个参数通常不⽤于编辑命令。因为默认值为 0,所以假如您没有使⽤第三个参数(在这种情况下,还必须为第⼆个参数传递值),⼀般可以不管它。第三个参数也是可选的,在可应⽤的情况下,使⽤它来将任何所需参数传递给该命令。
Pixy⽅法受到IE的cache bug影响会闪烁。其实并没有说清楚这个问题,但其实该bug是有条件的,即IE的cache设置为Every visit to the page,⽽不是默认的Automatically。基本上,只有开发者才会把cache设置为每次访问检查更新,所以这个bug其实不会影响真正的⽤户(根据在winxpsp2的ie6下测试,虽然可能仍然调⽤了⼀次⽹络存取的api,但是并没有发⽣实际的请求,症状就是⿏标有极短时间的抖动,但是图像不会闪烁)。此外有⼈发现了⼀个未公开的⽅法来让IE对背景图进⾏缓存:
⽤这种⽅法甚⾄避免了api调⽤,貌似是直接缓存在IE内存中。
IE6下设置背景图⽚是不会被真正cache住的,就算服务器做了cache,如果想cache住只能~~~
做过UI设计和开发的⼈⼀定知道,IE(不包括IE7)会经常从服务器端重新载⼊背景图⽚,好端端的UI界⾯在IE(不包括IE7)中就这样被折腾着……
Erik发现了⼀个简单的解决办法(针对IE7以下的IE有效,其实在IE7中已经修复了这个Bug)
程序代码程序代码
今天阅读Ext的源码时发现Jack Slocum已经考虑到了这⼀点,在Ext.js中给出了他的实现,在其它Ajax框架中应该还没有这种类似的代码,从这⼀个细节上就能看出Ext的全⾯~
程序代码程序代码
var isIE = ua.indexOf(”msie”) > -1, isIE7 = ua.indexOf(”msie 7″) > -1;
// remove css image flicker
if(isIE && !isIE7){
try{
}catch(e){}
}
今天阅读幻宇的dreamplayer播放器源码时发现幻宇也针对IE的背景缓存进⾏了修复,只是他并没考虑到IE7中已经不存在这个现象了,这是evml.js中的⼀段相关代码~(顺便嘀咕两句:这家伙,写JS从来不加分号的,以前是这样,现在还是这样,这样的话怎么进⾏压缩呀,汗~下⾯的代码按照我的习惯都已加上分号,哪怕只有两三句⽽已~)
程序代码程序代码
windows.isIE=navigator.appName.indexOf("Microsoft")==0;
if(isIE){
document.documentElement.addBehavior("#default#userdata");
复制⽂本框存在兼容性问题,参考:blog.csdn/bbirdsky/article/details/9368169

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。