让人不知所以的IE(The Puzzled IE)
上一篇 /
下一篇 2008-05-31 00:41:15
IE提供了一些命令用于页面与外部环境的交互,其中Copy命令是将选中的内容拷贝(复制)到剪贴板。可以如下的JavaScript代码实现:
function copyToClipboard(obj)
{
var range = document.body.createTextRange();
if (range)
{
range.moveToElementText(obj);
range.select();
var result = range.execCommand("Copy");
}
}
出于
安全原因,IE会显示一个提示框,以提示用户是否允许复制到剪贴板,如下图。
我们需要根据用户选择“允许”还是“不允许”来给出进一步的提示信息,但却无法得知用户的选择!MSDN说:Returns true if the command is successful. 言外之意就是,如果执行不成功,应该返回false。可测试的结果却是:不管“允许”还是“不允许”,result总是true!
除execCommand之外,IE还提供了几个用于查询命令执行情况的方法:
bEnabled=object.queryCommandEnabled(sCommand);
bIndeterm=object.queryCommandIndeterm(sCommand);
bDone=object.queryCommandState(sCommand);
bSupported=object.queryCommandSupported(sCommand);
但这些方法在这件事情上毫无用处,不管选择“允许”还是“不允许”,这些方法的结果都一样!如与本文目的直接有关的应该是queryCommandState,MSDN说:(This method ) returns a Boolean value that indicates the current state of the command.但不管“允许”还是“不允许”,该方法总是返回false!
如何知道用户选择的是"Allow access”还是"Don't allow”?答案是“无法知道”!
想当年,我们曾为IE的DHTML举手称庆!也为IE的巨大包容性而“心怀感激”!然而,在“坐稳江山”之后,IE却无可避免地“自满”起来,真是宿命!
所以,竞争,才是推动技术进步的不二动力!
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
ie