在ie8下若是一個頁面嵌套一個包含mCustomScrollbar滾動條javascript
那麼若是推進滾動條就會報java
沒法獲取未定義或 null 引用的屬性「frameElement」code
的錯誤 。對象
搜索一下代碼ip
var o=t.type,a=t.target.ownerDocument!==document?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=W()&&t.target.ownerDocument!==top.document?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0];
修改行爲get
var myView = t.view||window;var o=t.type,a=t.target.ownerDocument!==document?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=W()&&t.target.ownerDocument!==top.document?[e(myView.frameElement).offset().top,e(myView.frameElement).offset().left]:[0,0];
問題就解決了iframe
問題主要是處在event
t.view.frameElement
做者的意圖很明顯就是想要找到引用頁面的iframe元素,因此做者試圖經過event的view屬性獲取當前的頁面對象,class
可是很惋惜IE8 event的view屬性是undefined,因此程序出錯。搜索
既然做者只是爲了找到當前的window,那麼代碼徹底能夠改成
var myView = t.view||window;
意思很明顯就是有view就用view沒有就用window。
問題就這樣解決了。