?
? ? IE & Netscape IE only
1 居中
OBJECT OBJECT
2 form element 使用 所有等要引用的元素,都放在一个
中 可以通过id直接访问,不通过form
3 元素的引用方法1 document.form_name.element_name
document.form_name.element_name[i]
document.form_name.elements[element_name] form_name.element_name
form_name.all(element_name)
form_name.elements(element_name)
element_id
4 全选文本框 document.form_name.textbox_name.focus()
document.form_name.textbox_name.select()
注意:netscape6.1以上版本,可以不先focus document.form_name.textbox_name.select()
(netscape中必须先focus)
5 Table
缺少一些没有关系
6 根据名字索引 无document.all,这是造成大部分javascript函数不能使用的原因;
?
document.getElementById(id) 可用,但是只是支持id,不支持按name索引
?
(如果要同时用element_name or id 索引,可以考虑使用util.asp加入的新函数:
document_all(element_name_or_id) 见使用示例1)
注意:netscape4.8不支持document. GetElementById和document.all document.all(element_name_or_id)
?
7 关于CSS class=class_name
(class_name区分大小写, 而且不支持BORDER-COLLAPSE: collapse,这是造成界面难看的主要原因)
.css中的第一个类不起作用 class=class_name(class_name不区分大小写)
8 ? 低版本javascript中switch的能力很差,不支持变量case
注意:我测过nerscapte6.1以上版本,支持case ?
9 元素引用2 引用元素的id时,区分大小写 引用元素的id时,不区分大小写
10 Cursor显示手形 Cursor: pointer
(ie6支持pointer; ie5以下不支持pointer) Cursor: hand
11 innerText 用innerHTML代替innerText
netscape6.0+不支持innerText ?
12
(table的属性) 对于netscape,Caption出现在table的左侧,如附图1 对于ie,Caption出现在table的上方左侧,
如附图2
13
对于netscape,
的显示属性不会影响到所对应的其他列 对于ie,
的显示属性会影响到所对应的其他列
14 元素引用3 元素不是在form内时,引用元素使用document.getElementById("tblRole"). Window.tblRole在ie可以.
15 自定义属性的使用. 有些界面上使用如
这样的自定义属性方式来保存值,netscape不支持tr.prj_code取值.需用objElm.attributes.getNamedItem(strAtrName).value.
注意:util.asp里已经写了function GetElementAttribute(objElm,strAtrName),可以直接调用. Tr.prj_code可以取到值.
16 事件event及取事件源元素 Netscape用”事件.target”而不支持event. SrcElement取事件源元素.
Netscape也不能用event直接得到事件,可以考虑以“触发事件时将event传到javascript的方式得到事件”.
注意:util.asp里已经写了event_SrcElement(ObjEvent)来获得事件源元素.
触发事件的方法如:
Event. SrcElement
17 Form NetScape中必须使用document.FormName, IE中可以使用document.FormName和
Window.FormName
18 对表格的操作 TableId.rows[i].cells[i].childNodes[i]
Netscpate里不能使用 (? ) TableId.rows[i].cells[i].childNodes[i]
TableId.rows(i).cells(i).childNodes(i)
19 TableId.rows[i].cells[i].childNodes[i].length不同的问题
? 子节点类型有2种,一种是element node;(nodeType=1),另一种是text node(nodeType = 3),可以遍历所有子节点,把所有的text node删掉,也可以修改html代码,把多余的空格删掉
方法一:
var tbl1 = document.getElementById(“table1”);
for (I=0;I中 ?
24 Msxml.dll NETSCAPE:
VarxmlDoc= document.implementation.createDocument("","",null);
?
var xmlServerHttp = new XMLHttpRequest();
?
?
? IE:
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
?
var xmlServerHttp = new ActiveXObject("Msxml2.XMLHTTP");
Ie 支持:xmlDoc.load(filename) 和 xmlDoc.loadXML(string)
NS只支持xmlDoc.load(filename)方法
?
if (navigator.appName =="Microsoft Internet Explorer")? //IE
??? {??
??????? var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
??????? var xmlServerHttp = new ActiveXObject("Msxml2.XMLHTTP");??????
??????? xmlDoc.async = false;
??????? xmlDoc.loadXML(xmlStr);
??????? xmlServerHttp.open("POST",toUrl, false);
??????? xmlServerHttp.send(xmlStr);
??????? re = xmlServerHttp.responseText;
??? }
??? else
??? {
??????? var xmlDoc = document.implementation.createDocument("","",null);
??????? var xmlServerHttp = new XMLHttpRequest();
??????? var DOM = new DOMParser();
??????? xmlDoc.async = false;
??????? var DOMdoc = DOM.parseFromString(xmlStr,"text/xml");
??????? xmlDoc.load(DOMdoc);
??????? xmlServerHttp.open("POST",toUrl, false);
??????? xmlServerHttp.send(DOMdoc);
??????? re = xmlServerHttp.responseText;
??? }??
?
25
取值:
tr1.attributes.getNamedItem("a ").value
tr1.attributes.getNamedItem("b ").value
赋值或者设置属性
tr1.setAttribute(“a”,”a1”)
tr1.setAttribute(“b”,”b1”);
? Tr1.a
Tr1.b
26 给下来框新增一个option Var newOpt =new Option(text,value,false,false); Select.options[Select.options.length] = newopt; var oOption = document.createElement("OPTION"); oOption.text="" ; oOption.value=""; Select.add(oOption);
27 删除下拉框的某个option ?Select.options[i] = null; Select.options[i] = null;
Select.options.remove(i);
web页面要求支持netscape时需要注意的一些事项,主要是javascript编写方面的
小弟正在改以后公司用asp做的一个系统以支持netscape,对netsacpe接触不久,了解还不多,以后有新的发现再补充
不同浏览器所支持的“事件”
1。onabort(ns3,ns4,ie4):当用户终止正在打开的网页时产生该事件。
2。onblur(ns3,ns4,ie3,ie4):某元素失去活动焦点时产生该事件。例如鼠标在文本框中点击后又在文本框外点击时就会产生。
3。onchange(ns3,ns4,ie3,ie4):当网页上某元素的内容发生改变时产生。例如在文本框中输入文本后又在文本框外点击时就会产生。
4。onclick(ns3,ns4,ie3,ie4)单击网页上的某元素时产生
5。ondblclick(ns4,ie4):双击网页上的元素时产生
6。onerror(ns3,ns4,ie4):浏览器在打开网页的过程中发生错误时产生该事件
7。onfinish(ie4):滚动文本条中的文本完成一次滚动时产生的事件
8。onfocus(ns3,ns4,ie3,ie4)网页上的元素获得焦点时产生该事件
9。onkeydown(ns4,ie4)按下任意键时产生该事件
10。onkeypress(ns4,ie4)按下任意键时并释放该键产生的事件
11。onkeyup(ns4,ie4)释放按下的按键产生该事件
12。onload(ns3、4,ie3、4)网页或图象调入完成后产生该事件
13。onmousedown(ns4,ie4)在网页的某元素上按下鼠标时产生该事件
14。onmousemove(ie3、4)在网页的某元素上移动鼠标时产生该事件
15。onmouseout(ns3、4,ie4)从网页的某元素移出鼠标时产生该事件
16。onmouseover(ns3、4,ie3、4)鼠标移入网页的某元素时产生该事件
17。onmouseup(ns4,ie4)释放按下的鼠标时产生该事件
18。onreset(ns3、4,ie3、4)复位表格时产生该事件
19。onresize(ns4,ie4)改变浏览器时产生该事件
20。onselect(ns3、4,ie3、4)选择文本框中的文本时产生该事件
21。onstart(ie4)滚动文本条中的文本开始滚动时产生该事件
22。onsubmit(ns3、4,ie3、4)提交表单时产生该事件
23。onunload(ns3、4,ie3、4)从当前的网页退出时产生该事件