JavaScript-在Javascript中除了window.open,有没有办法在新窗口中打开一个新页面?

JavaScript-在Javascript中除了window.open,有没有办法在新窗口中打开一个新页面?

灵芸 发布于 2017-08-27 字数 114 浏览 1392 回复 7

使用window.open打开新页面会被浏览器阻止,体验不好,但是现在需要在新窗口中打开一个页面,有没有好的办法实现?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

晚风撩人 2017-11-09 7 楼

现在的浏览器判断都比较严格,用JavaScript弹窗基本上浏览器都会阻止,以下三种方法都会被阻止。

window.open('https://www.wenjiangs.com');
<body>
<form id="wenjiangs" action="https://www.wenjiangs.com" method="get" target="_blank">
<input name="xxx" type="hidden" value="" />
</form>
</body>

<script>
document.getElementById('wenjiangs').submit();
</script>
var win=window.open("");
win.location.href="https://www.wenjiangs.com";
夜无邪 2017-10-22 6 楼

<a href="..." target="_blank"></a>
这种也成的:)

甜柠檬 2017-10-16 5 楼

showmodaldialog

弹窗的用户体验的确不怎么好,可以用div代替弹出页面。

灵芸 2017-10-01 4 楼

<a href='javascript:void window.open("x.html","x","resizable,width=600,height=450")'>不会被阻止</a>

灵芸 2017-09-18 3 楼

看了你的需求,推荐你使用ColorBox 这个插件:

支持 照片,照片组,幻灯片,ajax,内联 和 iframe 框架。
通过CSS 控制外观,使用用户可以很容易重新定制外观。
不需要更改 ColorBox 的 javascript 文件就可以重新设定其行为。
可以依靠 callback & event-hooks 进行拓展,不需要修改源代码。
非常友好,不需要修改现有的 HTML,所有的选项都通过 JS 设置。

例子:

 $('button').colorbox({href:"thankyou.html"});

这一块你可以改为自己需要的触发!
官方网站:http://colorpowered.com/colorbox/

夜无邪 2017-09-13 2 楼

Window.ShowModalDialog

基本介绍:

showModalDialog() (IE 4+ 支持)

showModelessDialog() (IE 5+ 支持)

window.showModalDialog() 方法用来创建一个显示HTML内容的模态对话框。

window.showModelessDialog() 方法用来创建一个显示HTML内容的非模态对话框。

使用方法:

vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])

vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])

参数说明:

sURL -- 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。

vArguments -- 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。

sFeatures -- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。

虐人心 2017-09-10 1 楼

用自动提交的链接试试吧

var winopen = window.open("http://domain.cn/");
if( winopen==null ){
    document.write('<a href="http://domain.cn/" target="_blank" id="autopop" style="display:none"></a>');
    document.getElementById('autopop').click(); 
}