关于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>对象的框体,你只管往里面注入内容
[解决办法]
抢分来了!
<!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>