Using version 9.2.20092.2025 (also tested in 8.2) and FireFox 3.6
Anytime I try to sort or basically anything with JavaScript I get the error:
Error: document.getBoxObjectFor is not a function
And the section in the source file looks like this:
else if (ig_csom.IsFireFox && document.getBoxObjectFor(elem)) { var rect = document.getBoxObjectFor(elem); r.x = rect.x; r.y = rect.y; r.w = rect.width; r.h = rect.height; }
Can anyone else confirm this?
Basically the grid is completely broken in this new version of FireFox.
will this fix the problem with Chrome and Safari,
when I upgraded to Firefox 3.6 the click event of the UltraWebGrid stopped working
but your workaround fixed the problem with Firefox..is Chrome and Safari has different solution ?
Thanks
Jason
Hi Everyone
Thanks for the replies. I used the bits of JavaScript suggested as a workaround.
Now I have tried 9.2.20092.2108 and the issue seems to be fixed.
Hi,
I copied the script lines into a js file and I added the following code to the page_load event:
If (DirectCast(Request.Browser, System.Web.HttpBrowserCapabilities).Type.StartsWith("Firefox3.6")) Then ClientScript.RegisterClientScriptInclude("bugfix-ff36-getBoxObjectFor", "js/bugfix-ff36-getBoxObjectFor.js")End If
Note that I use StartsWith to ensure that all versions of Firefox 3.6 get covered.
Thank you very much! I was finally able to get 2008.2 working in the latest ver of Firefox. The instructions above helped me to get the changes set up correctly and it is working well now.
Here is what I did per the instructions above:
1) Copied my scripts folder on my system to a new folder within my website called "ig_Scripts".
2) Modified this line in my web.config to tell IG to look in the new folder for the modified script files. <
<
infragistics.web styleSetName="Default" styleSetPath="~/ig_res" javaScriptDirectory="~/ig_Scripts" />
3) Changed the ig_Webgrid.js file per the instructions above.
Thank you for giving me the missing pieces on how to get the modified javascript file to work.
You are correct, the most general way would be redirecting the java script path to a local folder and fixing the java script file the method is used in.
By default all of the JavaScript files are embedded into the assembly. To direct the application to use a local folder for the IG controls follow the steps in this article:
http://help.infragistics.com/NetAdvantage/ASPNET/2009.2/CLR3.5/?page=Web_Deploying_an_Application_to_a_Hosted_Server_Environment.html
Then copy all of the JS files from here: "C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 2 CLR 3.5\ASP.NET\Scripts" (what whatever your install path is) to the local folder you specified in the web.config.
Open ig_WebGrid.js and find function igtbl_getAbsBounds.
Change it to look as following:
function igtbl_getAbsBounds(elem, g, forAbsPos){ if (elem.offsetWidth == 0) return {x:0,y:0,w:0,h:0}; var r = new Object(); if (typeof(elem.getBoundingClientRect) != "undefined") // changed line { var rect = elem.getBoundingClientRect(); r.x = rect.left; r.y = rect.top; r.w = rect.right - rect.left; r.h = rect.bottom - rect.top; } else if (ig_csom.IsFireFox && typeof(document.getBoxObjectFor) != "undefined") // changed line ...