PDA

View Full Version : Firefox error - Exception... "'JavaScript component does not have a method named: "..



sophicworks
14 Jan 2013, 6:12 PM
Hi everyone, I'am new to extjs and I had a problem running my application on firefox,
the console in firebug gives me a massive amount of this kind of error and I don't have any idea what it is.

[Exception... "'JavaScript component does not have a method named: "onProgressChange"' when calling method: [nsIWebProgressListener::onProgressChange]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0" data: no]


Line 0

anyone who has idea how to fix this?
Note: works fine with Google Chrome and error occured using Mozilla Firefox 18.0

tvanzoelen
15 Jan 2013, 1:10 AM
There seems to be a bug in new JIT compiler ionMonkey that is released in firefox 18.0.

check http://www.sencha.com/forum/showthread.php?253345

In this thread, the proposed patch for this problem is, putting the following directly in the beginning of the Ext.onReady function.



Ext.onReady(function(){

if (Ext.firefoxVersion >= 18) {
var noArgs = [];
Ext.override(Ext.Base, {
callParent : function(args) {
var method, superMethod = (method = this.callParent.caller) && (method.$previous || ((method = method.$owner ?
method :
method.caller) && method.$owner.superclass[method.$name]));

// Workarround for Firefox 18. I don't know why this works, but it does. Perhaps functions wich have
// a try-catch block are handled differently
try {
} catch (e) {
}

return superMethod.apply(this, args || noArgs);
}
});
}


another fix is to disable the ion compiler.

type about:config in de adress of the browser, search for javascript.options.ion.content and disable it by clicking on it.

sophicworks
17 Jan 2013, 10:13 PM
Hi tvanzoelen, thanks for the quick reply and concern,
I'll try your solution and I'll be posting updates soon. :D

sophicworks
22 Jan 2013, 8:41 PM
Hi tvanzoelen, I've tried putting the code you gave at the top of my app.js..
but no luck.. maybe I just put the code in the wrong place or something.. Sorry for being newbie about it. I hope you could elaborate more, thanks.

- Mark