matsuoka-edi / redmine-dmsf

Automatically exported from code.google.com/p/redmine-dmsf
0 stars 0 forks source link

Javascript error in IE8 browser #195

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1) Using IE8 browser, click on the DMSF tab. 
2) application navigates to the DMSF screen and has the excalmation error icon 
on the IE status bar 
3) clicking on the icon gives the exception info

What is the expected output? 

No error alerts in IE8 status bar

What do you see instead?

The page appears to work so the severity is unclear

Error details:

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 
GTB7.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 
3.5.30729; InfoPath.2)
Timestamp: Tue, 25 Oct 2011 20:52:07 UTC

Message: Object doesn't support this property or method
Line: 4073
Char: 9
Code: 0
URI: https://chili.sindexfinancial.net/javascripts/prototype.js?1305847927

What version of the DMSF and Redmine are you using? 

DMSF 1.2.2 and Chiliproject 1.3

On what browser and operating system?

IE8 and Windows 7

Please provide any additional information below.

Researching, I found the following information in the prototype documentation, 
http://www.prototypejs.org/learn/extensions , that appears likely to be the 
cause of the error.  I can't confirm further because I don't know where in the 
application javascript the offending call was made.

[blockquote]
Because the prototype of the native browser object is extended, all DOM 
elements have Prototype extension methods built-in. This, however, isn't true 
for IE which doesn't let anyone touch HTMLElement.prototype. To make the 
previous example work in IE you would have to extend the element with 
Element.extend(). Don't worry, the method is smart enough not to extend an 
element more than once.

Because of browsers that don't support this you must take care to use DOM 
extensions only on elements that have been extended. For instance, the example 
above works in Firefox and Opera, but add Element.extend(my_div) after creating 
the element to make the script really solid. You can use the dollar function as 
a shortcut like in the following example:

// this will error out in IE: 
$('someElement').parentNode.hide()
// to make it cross-browser:
$($('someElement').parentNode).hide()

[/blockquote]

Original issue reported on code.google.com by pauli.pr...@gmail.com on 10 Feb 2012 at 5:36