JS 打开新窗口

<scriptlanguage="javascript"type="text/javascript">functionShowDetails(bookURL){varde... <script language="javascript" type="text/javascript">
function ShowDetails(bookURL)
{
var detailsWindow;
detailsWindow=window.open(bookURL,'','width=400, height=350');
detailsWindow.focus();
}
</script>

<a href="http://www.baidu.com" onClick="ShowDetails(this.href); return false;">
<img src="~" alt="Professional Ajax" />
</a>
请问一下,为什么点击以后,是在新窗口中打开的,怎么可以设置成 下面的效果呢?
原窗口停留在背景,但是不能操作,只读状态;新窗口出现在中间位置,宽度高度按设定值出现。
就像 http://zhidao.baidu.com/里面,点击登陆 以后那样子的。
展开
 我来答
日落的糖Kf
推荐于2017-11-19 · TA获得超过4万个赞
知道大有可为答主
回答量:3400
采纳率:0%
帮助的人:546万
展开全部

请采用网页对话框的方式  showModalDialog 

showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面。
区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法操作了)。
可以在子窗口中通过设置window.returnValue的值,让父窗口可以获取这个returnvalue.

2.一个例子
1)主窗口main.html,
2)在主窗口中通过showModalDialog的方式打开子窗口sub.html
3)在子窗口中设置returnValue返回给主窗口使用

main.html

复制代码代码如下:

<HTML>
<HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionshowmodal()
{
varret=window.showModalDialog("sub.html?temp="+Math.random());
alert("subreturnvalueis"+ret);
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="opensub"name=button1onclick="showmodal();">
</BODY>
</HTML>


sub.html

<HTML>
<HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionreturnMain()
{
window.returnValue="returnfromsub";
window.close();
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="returnandclose"name=button1onclick="returnMain()">
</BODY>
</HTML>

这种目前只有IE可用,其它浏览器都不可用了

方式二:

采用其它js框架,弹出对话框的模式

离夏3417
2017-11-12 · TA获得超过426个赞
知道答主
回答量:434
采纳率:47%
帮助的人:37.9万
展开全部
window.open是新窗口打开,而你想要的是页面中弹出框或者说是模态框的效果,不一样的概念的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZhangXin777999
2017-11-19 · TA获得超过3168个赞
知道大有可为答主
回答量:2075
采纳率:84%
帮助的人:227万
展开全部
window.open('index.html');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
262652047
2012-01-21 · TA获得超过438个赞
知道小有建树答主
回答量:1044
采纳率:0%
帮助的人:875万
展开全部
lightbox
更多追问追答
追问
不是很明白,麻烦解释一下
追答
这种样式叫lightbox,一般是用CSS来构建“中间的窗口”——一般只是个特殊div,而不是一个真正的新窗口。
主要用css的postion、z-index,具体代码嘛你搜索下就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式