今天项目测试,发现在IE6下一个页面打开失败,提示:“无法打开站点,已终止操作”,测试了下发现是日历控件My97DatePicker 导致的错误,于是看了下My97DatePicker 的相关介绍,无果;最后无意间百度了下,还是找到了解决办法:
1、My97DatePicker 官方:http://www.my97.net
2、在IE6下出现“无法打开站点,已终止操作”的解决办法(转):
My97DatePicker js 日期控件做的确实很优秀,但在ie6上显示最会有大小的问题,首先是ie6本身的问题,ie6对css的中文注释并不是很支持.所以如果css文件中有中文注释,那么这部分的css将会失效。
My97DatePicker 里面唯一的两个css文件都是有中文注释的,所以引用这个日期控件.最好是把它的css文件中的中文注释给去掉.
在frame框架中调用这个控件时老是探出“无法打开站点,已终止操作?”消息框,官网也有,综合下解决方法:
1、IE6中使用时,如果有 base target标签 必须在日期控件载入后设置
即<script language="javascript" type="text/javascript" src="../My97DatePicker/WdatePicker.js"></script>
<base target="_self" /> (将头部的<base href="<%=basePath%>"> ,放在你引用 WdatePacker.js的下面)
2、在<script>标签中加上defer="defer"
3、将<script>放在页面<body>后面
4、将<script>放在页面</html>后面
5、这是一个绝对有效的方法,但是会丢失跨越iframe的特性,把WdatePicker.js里面的$crossFrame改成false
另外,在IE6下直接输入日期,会出现输入从右到左显示的情况,输入的日期显示顺序混乱,出现该问题一般是由于该文本框带有readonly属性,将该属性去掉即可恢复正常!
使用方法:
<script type="text/javascript" src="/My97DatePicker/WdatePicker.js"></script>
然后就是<input class="Wdate" type="text" name="memberBirth" onClick="WdatePicker()" />
加上class="Wdate"在左边会有个日期的小图标在文本框中,当然也可以不加。
3、My97DatePicker 使用需要重点配置介绍:
http://www.my97.net/dp/demo/resource/3.asp
比如:dateFmt--string:‘yyyy-MM-dd‘ 日期显示格式,你可以参考自定义格式;可以根据实际需求改成‘yyyy-MM-dd HH:mm:ss‘
4、记录下简单的调用方法:
在<HEAD></HEAD>之间增加:<script defer="defer" language="JavaScript" type="text/javascript" src="<%=basePath%>/sz/My97DatePicker/WdatePicker.js"></script>
添加调用:<input id="StartTime" name="StartTime" value="<%=startTime1==null?" ":startTime1%>" type="text" class="Wdate" style="width:160px" onclick="WdatePicker();"/>
5、记录一个在当前页面动态显示时间的js:
//添加web时间
<script>
function testDate(){
var date=new Date();
var result=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
document.getElementById("mydate").innerHTML=result;
};
setInterval("testDate()", 1000);
</script>