|
DHTML动态网页简明教程 如何使你编写的DHTML兼容IE和NS浏览器 作者:ahao 由于不同的浏览器的元素和元素的性质名字有所不同, 我们应该知道如何让你的程序在两种主要的浏览器 NS4 和 IE4 中都工作浏览器检测:首先, 我们应该知道如何来知道用户用的是哪种浏览器. 下面这段程序虽然比较简单但足以区别 NS4 和 IE4. ns4 = (document.layers)? true:false ie4 = (document.all)? true:false document.layers 是 Netscape 4 专有的, 而 document.all 却是 IE 4
专有的. 所以检查这些专有 object 存在与否可以帮助我们设立变量 ns4(为
Netscape 4.0) 和 ie4 (为 Internet Explorer 4.0). 如果 document.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:
DIV 的名字是随你起的. 但当你给了它名字以后, JavaScript 就要参照这个名字来控制它. 下面告诉你 JavaScript 如何参照这个名字的. 对 Netscape 来说, 得到 CSS-P 性质 (property) 的方法如下: document.blockDiv.propertyName 或者是 document.layers["blockDiv"].propertyName 而对于 Internet Explore 来说, 要用 blockDiv.style.propertyName 或者是 document.all["blockDiv"].style.propertyName propertyName 可以是任何一个 DIV 可以用的 CSS-P 的性质, 比如 left, top, visibility, zIndex, width。 一个比较好的使得你的程序通用于 Netscape 和 IE 的方法是设立一个变量. if (ns4) block = document.blockDiv if (ie4) block = blockDiv.style 你可以注意到, 有了这个指针变量, 我们以后可以用简便的方法得到或改变 CSS-P 的性质. 因为无论你用的是那种浏览器, 对于这个DIV, 我们都用 block 来表示. 比如你想看看一个名字为 "blockDiv" 的 Div tag 的横向左边坐标是多少, 可以 block.left
|