这是我在网上找的一段代码,在body中添加select会出问题,提示ScreenConvert() 方法的var oS = objScreen.style;这一行报错,说style不是对象或者空
在jsp中则会停止响应,卡住页面,请各位指点
<script charset="GBK" language="javascript">
  <!--
var t_DiglogX,t_DiglogY,t_DiglogW,t_DiglogH; function gid(id) {
return document.getElementById?document.getElementById(id):null;
}

function gname(name) {

return document.getElementsByTagName?document.getElementsByTagName(name):new Array()
}

function Browser() {
var ua, s, i;
this.isIE = false;
this.isNS = false;
this.isOP = false;
this.isSF = false;
ua = navigator.userAgent.toLowerCase();
s = "opera";
if ((i = ua.indexOf(s)) >= 0) {
  this.isOP = true;return;
}
s = "msie";
if ((i = ua.indexOf(s)) >= 0) {
  this.isIE = true;return;
}
s = "netscape6/";
if ((i = ua.indexOf(s)) >= 0) {
  this.isNS = true;return;
}
s = "gecko";
if ((i = ua.indexOf(s)) >= 0) {
  this.isNS = true;return;
}
s = "safari";
if ((i = ua.indexOf(s)) >= 0) {
  this.isSF = true;return;
}
}

function DialogLoc() {
var dde = document.documentElement;
if (window.innerWidth) {
  var ww = window.innerWidth;
  var wh = window.innerHeight;
  var bgX = window.pageXOffset;
  var bgY = window.pageYOffset;
} else {
  var ww = dde.offsetWidth;
  var wh = dde.offsetHeight;
  var bgX = dde.scrollLeft;
  var bgY = dde.scrollTop;
}
t_DiglogX = (bgX + ((ww - t_DiglogW)/2));
t_DiglogY = (bgY + ((wh - t_DiglogH)/2));
}

function DialogShow(showdata,ow,oh,w,h) {
var objDialog = document.getElementById("DialogMove");
if (!objDialog) objDialog = document.createElement("div");
t_DiglogW = ow;
t_DiglogH = oh;
DialogLoc();
objDialog.id = "DialogMove";
var oS = objDialog.style;
oS.display = "block";
oS.top = t_DiglogY + "px";
oS.left = t_DiglogX + "px";
oS.margin = "0px";
oS.padding = "0px";
oS.width = w + "px";
oS.height = h + "px";
oS.position = "absolute";
oS.zIndex = "5";
oS.background = "#000000";
oS.border = "solid #000 1px"; //边框粗细和颜色
objDialog.innerHTML = showdata;
document.body.appendChild(objDialog);
}

function DialogHide() {
ScreenClean();
var objDialog = document.getElementById("DialogMove");
if (objDialog) objDialog.style.display = "none";
}

function ScreenConvert() {
var browser = new Browser();
var objScreen = gid("ScreenOver");
if (!objScreen) var objScreen = document.createElement("div");
var oS = objScreen.style;
objScreen.id = "ScreenOver";
oS.display = "block";
oS.top = oS.left = oS.margin = oS.padding = "0px";
if (document.body.clientHeight)    {
  var wh = document.body.clientHeight + "px";
} else if (window.innerHeight) {
  var wh = window.innerHeight + "px";
} else {
  var wh = "100%";
}
oS.width = "100%";
oS.height = wh;
oS.position = "absolute";
oS.zIndex = "3";
if ((!browser.isSF) && (!browser.isOP)) {
  oS.background = "#84AAE3"; //背景颜色
} else {
  oS.background = "#F0F0F0";
}
oS.filter = "alpha(opacity=40)";
oS.opacity = 40/100;
oS.MozOpacity = 40/100;
document.body.appendChild(objScreen);
var allselect = gname("select");
for (var i=0; i<allselect.length; i++) allselect.style.visibility = "hidden";
}

function ScreenClean() {
var objScreen = document.getElementById("ScreenOver");
alert(objScreen);
if (objScreen) objScreen.style.display = "none";
var allselect = gname("select");
for (var i=0; i<allselect.length; i++) allselect.style.visibility = "visible";
}

//举报
function Report(Type,ID)
{
   var PostData = "do=" + Type + "&reportid=" + ID;
   //PostRequest(window.location.protocol + "//" + window.location.host + "/AJAX_Comm.aspx", PostData);
   var showData = sample.innerHTML;
   //ScreenConvert();DialogShow("<div id=\"DialogLoading\">正在读取,请稍候...</div>",110,10,124,20);
   ScreenConvert();DialogShow(showData,500,400,420,170);

}//-->
  </script>调用部分:
<input type="button" onclick="this.blur();Report('reportvote',1175222);" style='border:solid 1px #666666;background:#cccccc' value="新增分类"/>