1. document.form.item problem
(1) Existing problem:
There are many statements like document.formName.item("itemName") in the existing code, which cannot be run under MF
( 2) Solution:
Use document.formName.elements["elementName"] instead
(3) For other
see 2
2. Collection class object issues
(1) Existing issues :
Many collection class objects in the existing code use () when accessing them. IE can accept it, but MF cannot.
(2) Solution:
Use [] instead as subscript operation. For example: document.forms("formName") is changed to document.forms["formName"].
Another example: document.getElementsByName("inputName")(1) changed to document.getElementsByName("inputName")[1]
(3) Others
3. window.event
(1 )Existing problems:
Using window.event cannot be run on MF
(2)Solution:
MF’s event can only be used at the scene where the event occurs, and this problem cannot be solved for the time being. It can be modified like this:
Original code (can run in IE):
...
New code (can run in IE and MF Run):
...
In addition, if the first line in the new code does not change, it is the same as the old code (that is, the gotoSubmit call does not give parameter), it will still only run in IE, but no error will occur. Therefore, the tpl part of this solution is still compatible with the old code.
4. The problem of using the id of the HTML object as the object name
(1) Existing problems
In IE, the ID of the HTML object can be used directly as the subordinate object variable name of the document. Not possible in MF.
(2) Solution
Use getElementById("idName") instead of idName as an object variable.
5. Problems with using idName string to obtain objects
(1) Existing problems
In IE, you can use eval(idName) to obtain the HTML object with the id of idName, but not in MF.
(2) Solution
Use getElementById(idName) instead of eval(idName).
6. The problem that the variable name is the same as an HTML object id
(1) Existing problems
In MF, because the object id is not used as the name of the HTML object, you can use the same variable name as the HTML object id Variable names cannot be used in IE.
(2) Solution
When declaring variables, always add var to avoid ambiguity, so that it can also run normally in IE.
In addition, it is best not to use the same variable name as the HTML object id to reduce errors.
(3) Other
see question 4
7. Event.x and event.y issues
(1) Existing issues
In IE, the event object has x, y attributes, Not available in MF.
(2) Solution
In MF, the equivalent of event.x is event.pageX. But event.pageX does not exist in IE.
So event.clientX is used instead of event.x. This variable also exists in IE.
event.clientX and event.pageX have subtle differences (when the entire page has scroll bars), but most of the time they are equivalent.
If you want to be exactly the same, you can have a little more trouble:
mX = event.x ? event.x : event.pageX;
Then use mX instead of event.x <script> <BR>function gotoSubmit() { <BR>... <BR>alert(window.event); // use window.event <BR>... <BR>} <BR></script>(3) Others<script> <BR>function gotoSubmit(evt) { <BR>evt = evt ? evt : (window.event ? window.event : null); <BR>... <BR>alert(evt); // use evt <BR>... <BR>} <BR></script> event.layerX exists in both IE and MF. Whether there is any difference in specific meaning has not yet been tested.
8. About frame
(1) Existing problems
In IE, you can use window.testFrame to obtain the frame, but not in MF
(2) Solutions
In terms of the use of frame The main difference between mf and ie is:
If the following attributes are written in the frame tag:
then ie can access the window object corresponding to this frame through id or name
mf can only access the window object corresponding to this frame through name
For example, if the above frame tag is written in the htm inside the top window, then it can be accessed like this
ie: window.top.frameId or window.top .frameName to access this window object
mf: You can only use window.top.frameName to access this window object
In addition, window.top.document.getElementById("frameId") can be used in both mf and ie. To access the frame tag
and switch the content of the frame
through window.top.document.getElementById("testFrame").src = 'xx.htm' or through window.top.frameName.location = 'xx.htm' to switch the content of the frame
For a description of frame and window, please refer to the 'window and frame' article of bbs
and the test under the /test/js/test_frame/ directory
--- -adun 2004.12.09 Modification
9. In mf, the attributes you define must be obtained by getAttribute()
10. There is no parentElement parement.children in mf but use
parentNode parentNode.childNodes
childNodes The meaning of the subscript is different in IE and MF. MF uses DOM specifications, and blank text nodes will be inserted into childNodes.
Generally, this problem can be avoided through node.getElementsByTagName().
When a node is missing in html, IE and MF interpret parentNode differently, for example