• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

[问题解决]IE中可以将弹出窗口置于最顶层的方法(即使当前焦点不在,比如最小化了那个IE也能弹出来)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网 你如果用过OWA(Exchange的WEB端程序)就会知道这个功能是相当吸引人的。
拷贝所有代码,保存为PopupWindow.html,在IE中运行这个文件,就知道了!:)

所有的代码如下:
PopupWindow.html

<HTML>
<HEAD>
<TITLE>位于最顶层的弹出窗口</TITLE>

<SCRIPT LANGUAGE="JScript">
//建立一个弹出窗口
var oPopup = window.createPopup();

//得到这个弹出窗口的body
var oPopupBody = oPopup.document.body;

//开始显示的坐标(默认是最右下脚)
flyMove.expand = 0;
flyMove.flyY = 0;
flyMove.flyX = 0;

//渐进显示的定时器
var g_idFlyPopup = -1;

//显示弹出窗口的定时器
var TimeoutFlag=-1;

//显示弹出窗口的方法
function richDialog()
{
    //在弹出窗口中写入文字和数据
    oPopup.document.body.innerHTML = oDialog.innerHTML;

    oPopupBody.style.fontSize = document.body.currentStyle.fontSize;
    oPopupBody.style.backgroundColor=@#infobackground@#;
    oPopupBody.style.cursor="pointer";
    oPopupBody.style.color = "infotext";
    oPopupBody.style.borderWidth=@#3px@#;
    oPopupBody.style.borderStyle=@#window-inset@#;
    oPopupBody.style.borderColor=@#activeborder@#;
    //下面代码会立即显示弹出窗口
    //oPopup.show(100, 50, 400, 300);

    flyInit();
    g_idFlyPopup = window.setInterval(flyMove,10);
}

function flyMove()
{
    flyMove.expand += 2;
    flyMove.flyY -= 2;
    oPopup.show(flyMove.flyX-flyMove.expand, flyMove.flyY, flyMove.expand, flyMove.expand);
    var oPopupBody = oPopup.document.body;
    if (oPopupBody.clientWidth >= oPopupBody.scrollWidth && oPopupBody.clientHeight >= oPopupBody.scrollHeight)
    {
        //清除渐进显示的定时器
        window.clearInterval(g_idFlyPopup);
        g_idFlyPopup = -1;

        //清除调用弹出窗口的定时器
        window.clearTimeout(TimeoutFlag);
        TimeoutFlag=-1;

        //注册6秒后关闭弹出窗口的定时器
        window.setTimeout( @#closePopup()@#, 60000 );

    }
}

//关闭弹出窗口
function closePopup()
{
    if( null != oPopup )
    {
        oPopup.hide();
    }
}

//初始化弹出窗口的坐标,将其定位到最右下角
function flyInit()
{
    flyMove.expand = 0;
    flyMove.flyY = window.screen.height;
    flyMove.flyX = window.screen.width;
}

//设定5秒后调用richDialog方法(用于显示弹出窗口)
TimeoutFlag=window.setTimeout( richDialog, 6000 );

</SCRIPT>
</HEAD>

<BODY>
你可以最小化这个窗口,系统会在6秒之后,自动弹出一个位于最顶层的弹出窗口!!!!

<DIV ID="oDialog" STYLE="display:none;">
<div id="myid" style="position:absolute; top:0; left:0; width:100%; height:100%; background:#cccccc; border:1px solid black; border-top:1px solid white; border-left:1px solid white; padding:10px;  font:normal 10pt tahoma; padding-left:18px "> <b>位于最顶层的弹出窗口</b><hr size="1" style="border:1px solid black;"><div style="width:220px; font-family:tahoma; font-size:80%; line-height:1.5em"><br>
很神奇吧!!!!!!!!!
<br>
<br>
<br>
</div>
<br>
<br>
<button tabindex="-1" onclick="parent.oPopup.hide();" style="border:1px solid black; border-left:1px solid white; border-top:1px solid white; background:#cccccc ">关闭窗口</button>
</DIV>
</BODY>
</HTML>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网