技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 前端开发 > javascript > 正文

JS模拟触发A标签 打开新的页面~怎么写?

来源: 技术CTO 阅读:

小弟 对JS真心菜。。百度无果。。还望各位大神在此赐教下。
是这样的 一个BUTTON的onclick 里面AJAX取得一个URL ,然后模拟触发A标签跳转到这个地址。打开新的页面~~ 
 最后点分 全部压上了  希望别嫌少,最后问下。这样打开的页面会不会被浏览器阻止??

window.open(url)

showModalDialog
引用 1 楼 a274295732 的回复:
window.open(url)


这样打开会被浏览器阻止~会有问题~我之前就这么用~跟我说 不得行
引用 3 楼 wuxin52115288 的回复:
Quote: 引用 1 楼 a274295732 的回复:

window.open(url)


这样打开会被浏览器阻止~会有问题~我之前就这么用~跟我说 不得行

打开新页面时,解除浏览器阻止不行吗。。。
至于用window.open(url)还是showModalDialog();根据需要吧
<a href="test.jsp"  target="_blank">点击弹出新页面</a>

var el = document.createElement("a");
document.body.appendChild(el);
el.href = url; //url 是你得到的连接
el.target = '_new'; //指定在新窗口打开
el.click();
document.body.removeChild(el);
我们一般用div来着,弄个iframe加载页面,这样一般不会被拦截,而且可控。

浏览器呀,各种打开呀,打开新窗口的,打开新标签的,新标签显示的、不显示的。好看的不好看的,各种郁闷,还有拦截。

所以就自己用div + iframe模拟了。
一句代码即可!!!
location.href=url;
引用 6 楼 xuzuning 的回复:

var el = document.createElement("a");
document.body.appendChild(el);
el.href = url; //url 是你得到的连接
el.target = '_new'; //指定在新窗口打开
el.click();
document.body.removeChild(el);


顶 版猪 威武
测试了下,如果不是页面加载或刷新时就打开一个新的窗口(或标签页/选项卡),而是在按钮的click事件里用楼上的各种方法在各个浏览器都是可以的,没有拦截。

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^