让人不知所以的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会显示一个提示框,以提示用户是否允许复制到剪贴板,如下图。
 
LevenSite Server
 
我们需要根据用户选择“允许”还是“不允许”来给出进一步的提示信息,但却无法得知用户的选择!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

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-08  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 622
  • 日志数: 4
  • 建立时间: 2008-03-11
  • 更新时间: 2008-07-21

RSS订阅

Open Toolbar