首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

关于window.createPopup的两个有关问题

2012-03-09 
关于window.createPopup的两个问题由于IE6+SP1已经把fullscreen后在resizeTo的BUG给封了,因此似乎做完全无

关于window.createPopup的两个问题
由于IE6+SP1已经把full screen后在resizeTo的BUG给封了,因此似乎做完全无边框的页面只能用window.createPopup来建窗口了,因为是要脱离于原页面的,也只能用window.createPopup了.但window.createPopup有两个问题不知道如何解决 
问题一,如果在用window.createPopup建立的窗口中把自己hide掉,是hide不是close. 
  我想实现在鼠标离开这个页面的时候页面自动隐藏. 
问题二,使用 var oPage = window.createPopup; 
  var oBody = oPage.document.body; 
  cHtml = " <html> \n "; 
  cHtml += " <head> \n "; 
  cHtml += "............ "; 
  cHtml += " </head> \n "; 
  cHtml += " <body> \n "; 
  cHtml += "............ "; 
  cHtml += " </body> \n "; 
  cHtml += " </html> \n "; 
  oBody.innerHTML = cHtml; 
  oBody.show(........); 
  的方法建立窗口. 
  但似乎 ' <style type= "text/css "> '的内容加在cHtml的 <head> 部分不起作用,要使样式起作用,必须在 <body> 部分的标签里面使用style= " "这样的属性才起作用.那么这样一来,如何设置象a:link这样的伪类样式呢?

[解决办法]
1、你可以指定POPUP里的body对象的 onmouseout 事件里隐藏。(不过你在这个事件里加上一个延迟处理,要判断一个是不是真的离开了)
2、你可以使用document.createElement("LINK") 导入样式表文件,也可以使用 document.createStyleSheet() 方式创建或者导入样式

POPUP你可以认为是已经存在<head><body>对象的框体,你只管往里面注入内容
[解决办法]
抢分来了!

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title> new document </title><meta name="generator" content="editplus" /><meta name="author" content="" /><meta name="keywords" content="" /><meta name="description" content="" /><script type="text/javascript"><!--//popup窗体 开始-------------------------------var oPopup, oPopupBody, oPopTimerfunction popInit(){    if (window.document.all){        oPopup = window.createPopup()        oPopupBody = oPopup.document.body;        oPopupBody.style.background="#000"        oPopupBody.style.fontSize="12px"        oPopupBody.style.textAlign="center"         oPopupBody.style.padding="2px 2px 0px 2px"             var s = oPopup.document.createStyleSheet();           s.addRule ('a:link','color:red;')        s.addRule ('a:visted','color:red;')        s.addRule ('a:hover','color:gold;')        oPopupBody.attachEvent('onmouseout',hidePop)        oPopupBody.attachEvent('onmouseover',clrPopTimer)    }}function showPop(){            if (window.document.all){        var xp =  200, yp     =  100, ww     =  180, wh     =  50, txt = '<div><a href="">sdfsdfsggggg</a></div>'        oPopupBody.innerHTML = txt        oPopup.show( xp, yp, ww, wh )                        oPopupBody.innerHTML=txt        oPopup.show(xp,yp,ww,wh)    }}function hidePop(){    if (window.document.all)        if (oPopup.isOpen)            oPopTimer = setTimeout("oPopup.hide()",1000)            }function clrPopTimer(){    clearTimeout(oPopTimer)}//popup窗体 结束-------------------------------    //--></script></head><body><script type="text/javascript"><!--popInit()showPop()    //--></script></body></html> 

热点排行