哪里有IE 的Javascript 與NetScape Javascript 相區別的書 或有介紹 兩者的異同點的網站我都被它搞死了,Javascript 在w

  • 主题发起人 主题发起人 wyn
  • 开始时间 开始时间
W

wyn

Unregistered / Unconfirmed
GUEST, unregistred user!
哪里有IE 的Javascript 與NetScape Javascript 相區別的書 或有介紹 兩者的異同點的網站我都被它搞死了,Javascript 在window 下的IE 運行得好好的,可要移值到其好平台上沒有IE不行 (200分)<br />哪里有IE 的Javascript 與NetScape Javascript 相區別的書 ,或有介紹 兩者的異同點的網站
我都被它搞死了,Javascript 在window 下的IE 運行得好好的,可要移值到其好平台上沒有IE不行
如IE:
[red] if(document.all.item("OrgID")==null)
length=-1;
else
{
if (document.all.item("OrgID").length==null)
length=0;
else
length=document.all.item("OrgID").length;
}[/red]
可是 NetScape不行
NetScape 如何寫呢?
大家幫幫忙,謝謝!
 
1999.12.15 IE 与 Netscape 的 JavaScript 比较
浏览器及版本信息的获取。
客户端的获取方法:
var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == "Netscape" &amp;&amp;
bVer >= 4);
var IE4 = (bName == "Microsoft Internet Explorer" &amp;&amp;
bVer >= 4);
var NS3 = (bName == "Netscape" &amp;&amp;
bVer < 4);
var IE3 = (bName == "Microsoft Internet Explorer" &amp;&amp;
bVer < 4);
服务器端的获取方法:
Request.ServerVariables("HTTP_USER_AGENT")
此变量中含有操作系统、浏览器及版本信息。
对象的引用方法不一样。
document.layers['IDName'].visibility = "visible"
document.all['IDName'].style.visibility = "visible"
Netscape 中没有 all 集合。
浏览中源文件的获取结果不同。
IE 中只能看到 JavaScript 的do
cument.write(...) 语句;
而 Netscape 中可看到do
cument.write 输出的结果,这对程序的调试很有利。
 
如何使你编写的DHTML兼容IE和NS浏览器
作者:ahao
由于不同的浏览器的元素和元素的性质名字有所不同, 我们应该知道如何让你的程序在两
种主要的浏览器 NS4 和 IE4 中都工作
浏览器检测:
首先, 我们应该知道如何来知道用户用的是哪种浏览器. 下面这段程序虽然比较简单但足
以区别 NS4 和 IE4.
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
document.layers 是 Netscape 4 专有的, 而do
cument.all 却是 IE 4 专有的. 所以检
查这些专有 object 存在与否可以帮助我们设立变量 ns4(为 Netscape 4.0) 和 ie4 (为
Internet Explorer 4.0). 如果do
cument.layers存在, 就让 ns4 等于 ture. 如果
document.all 存在, 就让 ie4 等于 true. 这样,以后你如果需要知道用户用的是那个
浏览器, 检查这两个变量就可以了

function check() {
if (ns4) {
//do
something in Netscape Navigator 4.0
}
if (ie4) {
//do
something in Internet Explorer 4.0
}
}
使用 JavaScript 和 CSS-P:
假如我们有一个如下的 DIV tag:
</p>
<div ID="blockDiv" STYLE="position:absolute;
left:200;
top:100">
<dd><img SRC="file://D:/dhtmlstudy/dhtml3.htm/xxx.jpg" WIDTH="xx"
HEIGHT="xx" BORDER="0"> <img
src="FrontPage:html_bitmap"></dd>
</div><p>DIV 的名字是随你起的. 但当你给了它名字以后, <B style="
color:black;background-color:#99ff99">JavaScript</B>
就要参照这个名字来控制它. 下面告诉你 <B style="color:black;
background-color:#99ff99">JavaScript</B>
如何参照这个名字的. </p>
<p>对 <B style="color:black;background-color:#A0FFFF">Netscape</B>
来说, 得到 CSS-P 性质 (property) 的方法如下: </p>
<pre> do
cument.blockDiv.propertyName
</pre>
<p>或者是 </p>
<pre> do
cument.layers[&amp;quot;blockDiv&amp;quot;].propertyName
</pre>
<p>而对于 Internet Explore 来说, 要用 </p>
<pre> blockDiv.style.propertyName
</pre>
<p>或者是 </p>
<pre> do
cument.all[&amp;quot;blockDiv&amp;quot;].style.propertyName
</pre>
<p><b>propertyName</b> 可以是任何一个 DIV 可以用的 CSS-P 的性质, 比如
left, top, visibility, zIndex, width。 </p>
<p>一个比较好的使得你的程序通用于 <B style="color:black;
background-color:#A0FFFF">Netscape</B> 和 <B style="color:black;
background-color:#ffff66">IE</B>
的方法是设立一个变量. </p>
<pre> if (ns4) block =do
cument.blockDiv
if (ie4) block = blockDiv.style
</pre>
<p>你可以注意到, 有了这个指针变量,
我们以后可以用简便的方法得到或改变 CSS-P 的性质.
因为无论你用的是那种浏览器, 对于这个DIV, 我们都用 block 来表示.
比如你想看看一个名字为 &amp;quot;blockDiv&amp;quot;
的 Div tag
的横向左边坐标是多少, 可以 </p>
<pre> block.left
</pre>
</td>
</tr>
</tbody>
</table>
<hr align="center" width="80%" color="#000000">
<p align="right"> <a href="ds2.htm">上一节</a> <a href="ds4.htm">下一节
</a> </td>
<td width="10%"></td>
</tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="49">
<tr>
<td width="100%" height="13"><hr color="#000000" width="90%">
</td>
</tr>
</table>
</body>
</html>

 
我觉得的honestman找的这个文章,已经说得很好了。
你所遇到的问题,就是IE的DHTML和Netscape的DHTML不同,这样你使用IE的DHTML语法写出来的,自然不能用在Netscape上。
问题不是出在,两者的javascript不同。
 
document.all.item
在其他浏览器中似乎不是这样写的,还要多一个部分。。。我忘记了,有本书,我借同学去
了,那本书全是Netscape下的javascript例子,反而找不到ie下可用的。
 
IE的很多函數 Netscape 沒有 如 :select.Remove
不支持 STYLE=" "
 
支netscape的原則
1、所有的元素一定要有始有終
2、在腳本中引用元素時要加上document(如document.File.Unit.value)
3、下拉列表框(select)引用元素值時要用如下方式:
document.File.UnitCode.options[document.File.UnitCode.selectedIndex].value
4、所有前台的腳本不能指定語言(LANGUAGE=javascript)
5、表單元素一定要放在form裡
現在不能實現的問題
1. 如何訪問 <Span></span> 和<div></div>的.innerText
2. 不支持 style="HEIGHT: 100px;
WIDTH: 500px"
3.不支持 theform.AllGrpList.remove(i);
4.不支持 showModalDialog File="GroupEdit.jsp?DeptNo="+document.GroupList.DeptNo.value+"&amp;Group_No="+GroupNo;
strFeatures = "dialogWidth=400px;dialogHeight=300px;center=yes;help=no";
RetrunValue=showModalDialog(File,0,strFeatures);
 
多人接受答案了。
 
后退
顶部