应用虑镜特效时遇到浏览器权限问题

    人要是倒霉啊,据说喝凉水都塞牙。虽然这么些年了牙没有被凉水塞过,不过倒霉的事情却没有因此而消失。一个使用了快1年的脚本菜单,在新来的PM的机器上始终弹不出来,真不知道是在欺生还是在玩我。由于产品安装包的脚本代码都经过了混淆和加密,要在那个出问题的机器上定位问题还真的郁闷。

    虽然PM的机器上有VS.NET,不过加密后的脚本是不能跟踪的,咣当。要是把开发版本部署到那个问题机器上去调试,那简直太麻烦了。不过幸好出错的模块很独立,于是单把开发版的脚本捣腾出来,做了一个包含菜单使用的页面到PM的机器上去debug。跟踪到下面的语句时:
   menuHtml.style.visibility = 'hidden';
   menuHtml.style.filter = filterString;
> menuHtml.filters[0].apply();
   menuHtml.style.visibility = 'visible';
   menuHtml.filters[0].play(0.25);

    出来一个异常,说没有权限执行这个操作,也就是不能执行虑境的apply()方法。出异常后显然就跳过了menuHtml.style.visibility = 'visible';及以后的语句,所以显示不出来菜单啰。在以往的DHTML开发经验中,只要使用的浏览器版本支持了指定的虑境效果,就应该没有问题能顺利的执行,这个执行虑境效果的权限问题还从来没有遇到过。后来"逼问"那位PM,他似乎也没有对IE做什么特别的设置,打开IE的配置项目察看也都没有什么特别的设置。由于不知道出错原因,就只有囫囵吞枣的try掉那个虑境的调用:
if ( filterString )
{
    
try
    
{
        menuHtml.style.visibility 
= 'hidden';
        menuHtml.style.filter 
= filterString;
        menuHtml.filters[
0].apply();
        menuHtml.style.visibility 
= 'visible';
        menuHtml.filters[
0].play(0.25);
    }

    
catch(e)
    
{
        menuHtml.style.visibility 
= 'visible';
    }

}

    最后也不知道到底是什么问题引起的错误,放这儿立此存照了。

posted on 2005-09-27 12:25  birdshome  阅读(1527)  评论(2编辑  收藏  举报

导航