2011-10-27 39 views
3

螢火蟲控制檯引發錯誤:誤差在IE的jquery.js和Mozilla但不是鉻

uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMViewCSS.getComputedStyle]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://localhost:30326/Scripts/jquery-1.6.4.js :: anonymous :: line 6570" data: no]

IE中的錯誤在管線6570未來這在下文中給出:

if ((computedStyle = defaultView.getComputedStyle(elem, null))) { 

的錯誤是「沒有這樣的接口支持」

我完全不知道調試javascript或jquery ...

有沒有人見過這個錯誤,任何想法,爲什麼這可能發生......

的Tx ARNAB

編輯: 發現了別的東西爲好。這是jQuery的方法..

if (document.defaultView && document.defaultView.getComputedStyle) { 

     getComputedStyle = function (elem, name) {   

     var ret, defaultView, computedStyle; 
       name = name.replace(rupper, "-$1").toLowerCase(); 
       if (!(defaultView = elem.ownerDocument.defaultView)) 

    {    return undefined;  

     } 
       if ((computedStyle = defaultView.getComputedStyle(elem, null))) {  

// [這是錯誤得到投擲ELEM值爲「」]

   ret = computedStyle.getPropertyValue(name); 
          //    **[The value of name is opacity]** 

      if (ret === "" && !jQuery.contains(elem.ownerDocument.documentElement, elem)) {   

       ret = jQuery.style(elem, name);   

      }  

     } 
       return ret; 

     }; 

     } 

但我一直無法從哪種方法找出我的這種方法在jQuery是所謂的,任何人都知道如何找到的順序的js腳本在頁面

解決方案觸發:

if (elem.wholeText == " " && name == "opacity") { 
       return "1"; 
      } 
     if ((computedStyle = defaultView.getComputedStyle(elem, null))) 

基本上增加了行 上方的代碼,如果((computedStyle = defaultView.getComputedStyle(ELEM,NULL)))

感謝賈斯汀的方式來顯示....

+3

請發佈*您的*代碼的任何相關行。你可以使用jsfiddle來做到這一點。 –

+0

tx,將嘗試找出jquery被調用的函數,並導致ex ... – Arnab

+0

它發生在我身上,我在getComputedStyle調用周圍試了一下,得到了這個:[注意ELEM不爲NULL curl!] '[Exception ...]組件返回失敗代碼:0x80004005(NS_ERROR_FAILURE)[nsIDOMWindow.getComputedStyle]「nsresult:」0x80004005(NS_ERROR_FAILURE)「location:」JS frame :: http:// localhost:35973/scripts /jquery-1.9.1.js :: getStyles :: line 6927「data:no] getStyles(elem = undefined)jquery-1.9.1.js(line 6929) curCSS(elem = Object {element = g.highcharts -series,renderer = {...},attrSetters = {...},more ...},name =「Webk ...' – Bakhshi

回答

0

難道你」重新嘗試從隱藏的元素獲得一些偏移量或位置?它看起來像有可能會有一些先例這種錯誤:

http://bugs.jquery.com/ticket/2528

如果是這樣的話,這裏是一個解決辦法,可以幫助:

http://siderite.blogspot.com/2009/07/jquery-firexof-error-could-not-convert.html

正如上面提到的,將會非常有用,可以獲得您嘗試使用的代碼示例。

快樂編碼!

+0

感謝Justin來展示方式,但在我的例子中,代碼是diff。 。 – Arnab

5

在不能有樣式的DOM節點(例如文本節點)上運行getComputedStyle時,IE9會拋出「No such interface supported」。走DOM時遇到了這個問題。因此,通過一個元素之前的getComputedStyle,檢查它的節點類型,就像這樣:

if (elem.nodeType === elem.ELEMENT_NODE) { 
    document.defaultView.getComputedStyle(elem, null); 
} 
0

我就遇到了這個問題,highcharts提示工作。他們是從的jQuery 1.9.1此位的代碼哽咽道:

if (window.getComputedStyle) { 
    getStyles = function(elem) { 
     return window.getComputedStyle(elem, null); 
    } 
... 

它停止通過添加節點類型的支票扔被定義,因爲我發現它是空對於在highcharts使用svgElement錯誤。

getStyles = function(elem) { 
    if (elem && elem.nodeType) { 
     return window.getComputedStyle (elem, null); 
    } 
} 
相關問題