1 不等宽字体字符串显示问题。
当宽度大的字符如’w’,就可能重起一行显示,而小字符’i’可能就不用重起,这样就没有对齐.
解决办法:
用<code></codes>将字体变成等宽字体。
计算该行可以显示的字符数
控制每行都显示合适的字符
2 缓存与ie6的背景图片显示bug.
Ie6.0会不断的重新请求该背景图片数据,而不是从缓存中读取.
解决办法:
var isIE6 = window.navigator.userAgent.indexOf("MSIE 6.0") > -1;
if(isIE6)
{
try{
document.execCommand("BackgroundImageCache", false, true);
}catch(e){}
}
3 ajax控件的使用
try
{
request = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
request = false;
}
}
}
if (|!request)
{
alert("Error initializing XMLHttpRequest!");
}
function getWireless()
{
// cgi相应该请求并返回请求数据
var url = "Wireless.cmd?" + '&auth_string='+top.frames[0].auth_string;
// 如果第三个参数变成false,那么在此等待数据到达以后,往下执行.
request.open("GET", url, true);
// 指定回调函数
request.onreadystatechange = updateWireless;
request.send(null);
}
//回调函数定义
function updateWireless()
{
if (request.readyState == 4)
{
if (request.status == 200)
{
wlEnable =request.responseText;
if(wlEnable == 0)
{
document.getElementById("wlEnbl").value='Aus';
}else
{
document.getElementById("wlEnbl").value='Ein';
}
}
}
}
// 定时10s调用
function startCallback()
{
getWireless();
setTimeout("startCallback()",10000);
}
4 使用ajax控件后javascript页面的同步的问题
脚本函数的执行顺序为beforeload(), onload(),如果点击触发后执行onclick().
如果想先等ajax控件更新数据收到后,再执行提交操作的话,那么就要等待一段时间.不要在onclick函数里面进行setTimeout().而应该使用如下的方式执行.
<DIV id=but4 οnclick=stOk();(flag==1)?setTimeout('stSave(1)',6000):flag=1;οnmοuseοver= rahmen(1,4) οnmοuseοut=rahmen(0,4)>Speichern <<</DIV>;
在这里要注意:在stOk()函数中,异常中断返回时无需等待的情况,可以使用flag来标明.
5 数组元素个数的判断.
var msn = '<%ejGetVoip(msnnumbers)%>';
var msn_array = msn.split('.');
当msn == “”的时候,msn_array.length 是不会等于0的.
6 一个判断浏览器版本的脚本
<html xmlns="http://www.w3.org/1999/xhtml" >
<SCRIPT LANGUAGE="JavaScript">
function IsIE()
{
alert(window.navigator.userAgent);
if (window.navigator.userAgent.indexOf("MSIE")>=1)
//如果浏览器为IE
{
alert("IE浏览器");
}
else //如果浏览器为Firefox
{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
alert("Fixfox浏览器");
}
}
}
</script>
<head runat="server">
<title>判断浏览器类型</title>
</head>
<body οnlοad="IsIE();">
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>