若是有使用My 97 DatePicker
日曆控件的話,在項目中可能會遇到一個BUG,若是自身項目有使用use strict
嚴格模式的話,在Firefox或IE11下彈不開日曆窗口。javascript
打開Firefox控制檯,能夠看到以下報錯:java
TypeError: access to strict mode caller function is censored.
複製代碼
是在嚴格模式下使用了caller,該屬性在MDN web docs有註明:web
該特性是非標準的,請儘可能不要在生產環境中使用它!bash
該BUG官方在My97 DatePicker 4.8 Release [2017-7-30]
中已修復。如不升級,可在舊版本作以下修改:ui
WdatePicker.js
文件caller
字段,全文僅兩處):function D(){if(G){func=D.caller;while(func!=null){var $=func.arguments[0];if($&&($+"").indexOf("Event")>=0)return $;func=func.caller}return null}
複製代碼
if(G){...}
中...
處代碼用try-catch
包裹,以下:function D(){if(G){try{func=D.caller;while(func!=null){var $=func.arguments[0];if($&&($+"").indexOf("Event")>=0)return $;func=func.caller}}catch(e){}return null}
複製代碼
該解決方案仍源自官方在4.8版本的解法。spa
原文連接:My97 DatePicker日曆控件在火狐或IE下打不開code