之所以說機緣巧合,意思是各種因素促成了這個事件,缺一不可。幾個因素分別是:系統中的ie是ie6(具體的小版本之間的差別我不是很確定or清楚)、編寫jsp頁面且用開發工具自動產生的jsp源碼、使用了WdatePicker.js這個時間控制項、以及頁面代碼的一些書寫順序。
之所以說經典,很明顯,從上面的巧合中可以看出來了,ie6絕對是經典了。
全部測試代碼如下(除要引用的控制項相關檔案外)
複製代碼 代碼如下:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<head>
<base href="<%=basePath%>"/>
<title></title>
<script src="js/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
</head>
<body></body>
</html>
運行訪問就會發生如下情況:(註:要在特殊條件下哦!!!)
已知解決方案:
Method 1:去掉<base ……>代碼,如果你用不到的話
Method 2:補全<base>的結束標籤,必須在後添加</base>,而不是<base …… />
Method 3:將<base ……>代碼放到<script src="js/My97DatePicker/WdatePicker.js" type="text/javascript"></script>之後
PS&注意:ie6緩衝方面問題比較嚴重,測試時需要及時清理下臨時檔案,不然會讓你產生幻覺的!!!
具體原因?我怎麼知道…… 我只是瞭解到了表面問題罷了,網上有大神們的相關文章,可以根據本文提到的一些關鍵字搜尋下,靠你了!!!