利用prototype.js來兼容FF和IE基礎簡例
2024-09-01 08:30:35
供稿:網友
在編寫ajax程序的時候,會出現“在IE中運行正常,到FF中運行的效果改變了,或者在FF運行的效果是正確的,在IE中效果不正確或出現了錯誤,現在可以用prototype.js來兼容FF和IE”
prototype.js源碼下載地址:http://www.aspprogram.cn/soft.asp?id=32
1、document.all.item的替換方式:
document.all.item('id_name').className='class_name'
替代方式1:
document.all.id_name.className='class_name'
替代方式2:
$('id_name').className='class_name';
2、 取得value值
var temp = document.all.item('id_name').value
替代方式:
var temp = $F('id_name');
3、 寫入value值
表單中寫值
$(form_name.id_name).value = temp ;
表單外寫值
$(id_name).value = temp ;
這樣寫是錯誤的:(錯誤說明:不能給對象的返回值賦值)
$F('id_name') = temp ;
4、寫入className(class_name可為多個用空格分開)
Element.addClassName('id_class','class_name');
5、移除className(class_name只能為單一)
Element.removeClassName('id_class','class_name');
6、 JS中變量名稱于能與id_name重復
7、 例:
<li id="huabei" onMouseDown="javascript:ctlist(event,'huabei')"
class="li">測試</li>
function ctlist(evt,ct){}
8、<a href="javascript:toc(null,'測試')" class="searcha">測試</a>
function tos(evt,temp){
$('searchkey').value = temp; //searchkey是在表單中的id
}
9、 FF下alert()是錯誤的. 錯誤:沒有足夠的參數
10、 千萬不能缺少id
11、 FF對js緩存清除困難,每次更新后最好重新打開一個FF
12、 識別瀏覽器
var the_browser_name = navigator.appName ;
if(the_browser_name == "Microsoft Internet Explorer"){
alert("你使用的是IE");
}
if(the_browser_name == "Netscape"){
alert("你使用的是FF");
}
<SCRIPT LANGUAGE="JavaScript">
<!--
var the_browser_name = navigator.appName ;
if(the_browser_name == "Microsoft Internet Explorer")
{
alert("你使用的是IE");
}
if(the_browser_name == "Netscape")
{
//(這段有錯吧?)
alert("你使用的是FF");
}
//--> </SCRIPT>