[轉]关于“网页对话框”中链接和表单提交会在新窗口中打开的问题
2011-03-07 14:59
441 查看
FROM : http://www.cnblogs.com/wuuuang/archive/2009/04/09/1432640.html
环境:
Windows XP SP2, IE6
现象:
在脚本中使用 window.showModalDialog() 或 window.showModelessDialog() 弹出的“网页对话框”中含有链接或表单,当点击链接或者提交表单时,转向的结果页面会在一个新弹出的网页窗口中显示,而不是在当前“网页对话框”自身内部显示。
解决方法:
方法1(不推荐)先做一个包含框架(frame 或 iframe)的页面,使用上述方法弹出对话框时显示的是框架页面,而真正要显示的页面放在框架页内部的框架中显示。
缺点:实现有些复杂,需要多创建一个框架页面。如果仅仅要做一个这样对话框还好应付,但要做很多的话就不好办了。那样的话可能要很多个框架页,或者只做一个框架页,实际要显示的页面地址通过上述两个函数中的第二个参数传给框架页,然后在框架页中用脚本动态将实际页面加载到框架中。
使用方法1时对于对话框的返回值也要注意,因为此时实际页面是在框架中,所以返回值要使用“window.parent.returnValue”来指定。
方法2(推荐!)不需要框架页。要做的仅仅是在对话框要显示的页面中<head></head>标签内加入“<base target="_self" />”。
这样点击普通的链接或是提交表单后,新的页面还是会在当前对话框中显示。
要注意的是,<a>和<form>标签也都有“target”属性。如果要使用方法2,一定要如前所述加上“<base target="_self" />”,并且<a>和<form>中的“target”属性必须为空值。如果你指定了不为空的<a>和<form>的“target”属性,不管怎样,转向的页面都不会在当前对话框内部打开的。不知这是我的运行环境问题还是IE的BUG。
方法2中对话框返回值可以直接指定“window.returnValue”。
环境:
Windows XP SP2, IE6
现象:
在脚本中使用 window.showModalDialog() 或 window.showModelessDialog() 弹出的“网页对话框”中含有链接或表单,当点击链接或者提交表单时,转向的结果页面会在一个新弹出的网页窗口中显示,而不是在当前“网页对话框”自身内部显示。
解决方法:
方法1(不推荐)先做一个包含框架(frame 或 iframe)的页面,使用上述方法弹出对话框时显示的是框架页面,而真正要显示的页面放在框架页内部的框架中显示。
缺点:实现有些复杂,需要多创建一个框架页面。如果仅仅要做一个这样对话框还好应付,但要做很多的话就不好办了。那样的话可能要很多个框架页,或者只做一个框架页,实际要显示的页面地址通过上述两个函数中的第二个参数传给框架页,然后在框架页中用脚本动态将实际页面加载到框架中。
使用方法1时对于对话框的返回值也要注意,因为此时实际页面是在框架中,所以返回值要使用“window.parent.returnValue”来指定。
方法2(推荐!)不需要框架页。要做的仅仅是在对话框要显示的页面中<head></head>标签内加入“<base target="_self" />”。
这样点击普通的链接或是提交表单后,新的页面还是会在当前对话框中显示。
要注意的是,<a>和<form>标签也都有“target”属性。如果要使用方法2,一定要如前所述加上“<base target="_self" />”,并且<a>和<form>中的“target”属性必须为空值。如果你指定了不为空的<a>和<form>的“target”属性,不管怎样,转向的页面都不会在当前对话框内部打开的。不知这是我的运行环境问题还是IE的BUG。
方法2中对话框返回值可以直接指定“window.returnValue”。
相关文章推荐
- 关于“网页对话框”中链接和表单提交会在新窗口中打开的问题
- 关于“网页对话框”中链接和表单提交会在新窗口中打开的问题
- 关于“网页对话框”中链接和表单提交会在新窗口中打开的问题
- 关于“网页对话框”中链接和表单提交会在新窗口中打开的问题
- 解决网页对话框中链接和表单提交会在新窗口中打开的问题
- 关于无法显示该网页,弹出对话框显示"Internet Explorer无法打开Internet站点xxx,已终止操作"问题的解决方法
- 解决以showModalDialog打开的页面在提交表单时弹出新窗口的问题
- 微信中打开Django网页提交表单提示403 csrftoken cookie not set问题解决
- 解决以showModalDialog打开的页面在提交表单时弹出新窗口的问题
- showModalDialog打开网页和disabled后表单提交的问题。
- 关于layer.js 弹出框表单提交关闭父窗口出现表单提交失效的问题
- 关于showmodaldialog 打开新窗口后提交表单操作时,避免弹出新窗口和避免从后台获取“新数据”后不能刷新当前模态页面的解决方案
- 解决window.showModalDialog提交表单在新窗口中打开的问题
- 给初学者:VB如何操作WEB页的浏览提交———七:题外话,关于小甜饼和不打开新IE窗口问题
- 模态对话框问题:父窗口打开一个模态子窗口后,子窗口的form提交给自己,弹出新窗口
- 模态对话框(window.showModalDialog),表单内容的提交、刷新父窗口的问题
- 用Android版微信打开网页提交表单数据失败的问题
- 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
- 关于showModalDialog(模式窗口)中的表单提交问题
- 关于解决打开多个文本聊窗口的端口占用问题的若干想法(官话~)