jsp页面应用my97DatePicker时出现网页无法打开错误解决办法

jsp页面应用my97DatePicker时出现网页无法打开错误解决办法打开网页的时候提示: Internet Explorer 无法打开 Internet站点 已终止操作这是jsp页面应用my97DatePicker时出现网页无法打开错误解决办法

     上面是My97官方网站的说明,这款日期控件也是我使用以来最好的一个,非常人性化,很全面,下面是在使用过程中我碰到的最棘手的一个问题,在frame框架中调用这个控件时老是探出“无法打开站点,已终止操作?”消息框,很长一段时间我都素手无策,最后才找到下面的方法,官网也有,综合下:
1、IE6中使用时,如果有 base target标签 必须在日期控件载入后设置
即<script language="javascript" type="text/javascript" src="../My97DatePicker/WdatePicker.js"></script>
<base target="_self" />
2、在<script>标签中加上defer="defer"
3、将<script>放在页面<body>后面
4、将<script>放在页面</html>后面
5、这是一个绝对有效的方法,但是会丢失跨越iframe的特性,把WdatePicker.js里面的$crossFrame改成false

问题:如题,第一次打开报此错误,再点连接打开,则正常

原因:页面还没执行完,就运行了其他的js脚本(WdatePicker)

解决方法:给js脚本添加defer属性,并设置为defer
<script type="text/javascript" src="../Images/My97DatePicker/WdatePicker.js" defer="defer"></script>

defer说明:
<script defer>中defer的作用
使用defer属性可以让脚本在整个页面装载完成之后再解析,而非边装载边解析。  
这对于只包涵事件触发的js脚本而言,可以提高整个页面的加载速度。

        DEFER是脚本程序强大功能中的一个“无名英雄”。你可能从没有使用过它,但是看完这里的介绍后,相信你就离不开它。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。  
   
    最后请注意两点:  
   
    1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。  
    2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。
    3. 如果不显式声明 defer ,则其默认值 是false

心得:我自己试过,把引用到WdatePicker.js的的jsp页面到找出来,如:<script type="text/javascript" src="../Images/My97DatePicker/WdatePicker.js" ></script>  再这个javascript中加入:defer="defer",结果如:<script type="text/javascript" src="../Images/My97DatePicker/WdatePicker.js" defer="defer"></script>,再把这个加完defer="defer"的javascript整体放到<body>标签的后面,保存退出,同样的操作改完其他用到WdatePicker.js的的jsp页面,然后重启服务器就可以运行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值