我遇到的蛋疼的JS相容問題

2021-06-22 13:01:58 字數 959 閱讀 5770

一、date的例項化

這個讓我著實蛋疼了一下午。我習慣性的獲取了日期的string=「2014-06-20」, 然後又想當然的new date("2014-06-20")

在chrome, firefox,ie9下ok沒問題,很高興。休息了一會測試報過來ie6、ie7、ie8上js顯示資料不對,日期全部顯示成"nan", "not a number";

var m=(new date("2014-06-20")).getmonth();alert(m)顯示nanalert(typeof(m)) 顯示number這讓我鬱悶了一把

然後開始懷疑ie6、7、8下例項化的這個date物件,彈出日期字串正常。鬱悶,難道new date() 不支援字串引數宣告,可文件裡是有的???

後來查到date還有其他的宣告方式date(year,month,day),不過這個宣告方式太過複雜,如過你date(2014,6,20)生成的日期物件是2014-07-20的,那個月份和日期要做很多判斷,

超級麻煩,難道js中就沒有一種通用的簡單的宣告日期物件的方式?如果沒有js的設計者就太失敗了!

然後就在群裡跟那群程式傻冒們討論,有乙個哥們聲稱曾經「2014/06/20」的方式通過了ie6-8系列,很是懷疑!抱著試試的態度,哇,差點眼淚出來了。

這裡要告訴大家的是var d = new date("2014-06-20");的宣告方式是通不過ie6-8的,請改用var d = new date("2014/06/20");

注意:

我們通常會將「2014-06-20」中的 「-」 替換成 「/」。最初沒有去細究js中的replace方法。於是又想當然的str.replace("-","/"),結果js的replace方法是只替換一次,也就是只會將第乙個「-」替換,

但是人家是支援正規表示式的,所以如果下次要替換所有「-」的時候就需要str.replace(/\-/g,"/");

自從會了點正規表示式

二、table

dwr的蛋疼問題

最近在使用dwr,與之前相比 除了讓人非常蛋疼的問題,先描述如下 第乙個問題是伺服器向客戶端推送的時候,1 browser.withcurrentpage new runnable 13 使用該方法推送給當前的session使用,可是我之前測試總是在全部推送完畢後,才在頁面做接收,也就是看不到 一條...

js中的相容問題

1 使用事件物件event時 ie9 chrome event是乙個內建全域性物件,也可以通過事件函式第乙個引數傳入 ie9 event時內建全域性變數,不能當作引數傳入 firefox 標準下 event物件只能通過事件函式的第乙個引數傳入的 相容性處理方式 obj.nclick function...

js當中的相容問題

1.關於獲取行外樣式 currentstyle 和 getcomputedstyle 出現的相容性問題 我們都知道js通過style不可以獲取行外樣式,當我們需要獲取行外樣式時 我們一般通過這兩個方法獲取行外樣式 ie下 currentstyle chrome,ff下 getcomputedstyl...