<html lang="en">
<head>
<meta charset="UTF-8">
<title>d窗</title>
</head>
<style>
#alert_box
{
width: 200px
height: 200px
background-color: red
display: none
position: absolute
}
</style>
<body>
<div id="alert_box"></div>
<button id="btn">d窗</button>
<script>
var width=document.documentElement.clientWidth||document.body.clientWidth
var height=document.documentElement.clientHeight||document.body.clientHeight
document.getElementById("btn").addEventListener("click",alert_box)function alert_box()
{document.getElementById("alert_box").style="display:inlineposition:absoluteleft:"+Math.floor((width-200)/2)+"pxtop:"+Math.floor((height-200)/2)+"px"
}
</script>
</body>
</html>
扩展资料:注意事项
常见正常d出窗口失效的原因:
1.使用window.open,但是定义窗口名,也就是在打开窗口传入name参数,因为window.open只能打开唯一的窗体名为name的窗体。所以有些人会以为被浏览器拦截屏蔽了。
2.使用异步的ajax,通过ajax向服务器请求,在请求完成后再打开窗口的 *** 作,如果是使用异步的方式,将出现延时,这是浏览器就会以为不是用户触发的 *** 作,这时只要设置同步的方式即可。笔者就是因为这个原因。
可能存在替代方案:
既然想到d窗,固然是因为有这方面的需求,目前‘浏览器无法拦截的d出窗口’是不可能的,能不能找到替代方案。这里提供两个方案:
1.如果是d窗广告,一般的做法是在页面document绑定click事件或者的srcoll事件,因为一般打开网页都会点一下或者是滚一下鼠标。所以就很容易的d窗了(这里以技术出发,笔者代表绝大部分用户不接受这种广告方式)。
2.如果是d出通知信息,就更容易,不用这么鬼鬼祟祟了,直接d出div的“窗口就行”。
为超链接添加onclick()动作,动作内容为d出对话框。javascript提供了3种类型的对话框:
alert() : 提醒
confirm():确认,返回 true 或者 false
prompt():带输入的对话框
下面进行实例演示:
1、HTML结构
<a href="#" onclick="fun1()">你有一个礼物</a><a href="#" onclick="fun2()">我要接收礼物</a><a href="#" onclick="fun3()">必须先对暗号</a>2、javascript代码
function fun1(){ alert("你得到一个礼物!!")}function fun2(){ if(confirm("确定接收礼物?")) alert("对一下暗号先...")}function fun3(){ var code = prompt("请对暗号:") if(code) alert("给你礼物!!") else alert("蒙人呢!")}在<a>标签中加上target="_blank"就是在新窗口打开,代码是:<a href="链接的页面" target="_blank">链接文字</a>。
如果不加就是在当前窗口打开,代码是:<a href="链接的页面">链接文字</a>。
下面演示一下在新窗口打开:
1、准备一个html文件
2、使用文本编辑器编辑该html文件,按前面说的代码格式输入代码,以百度为例:<a href="https://www.baidu.com" target="_blank">百度</a>,输完后按ctrl+s保存
3、在浏览器中打开之前保存好的html文件,然后点击页面中的“百度”,这时候页面就是在新窗口打开的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)