【问题标题】:Open a new window (or new tab) programmatically instead of always a popup以编程方式打开一个新窗口(或新选项卡),而不是总是弹出一个窗口
【发布时间】:2014-05-31 00:56:11
【问题描述】:

我正在尝试使用 AngularJS 创建一个新窗口

var _url = 'http://extern.com/index.html'; 
$window.open(_url);

它总是打开一个弹出窗口,但从不打开普通窗口或新标签。为什么?

我在 Chrome、Firefox 和 IE10 中使用 Angular 1.2.9。

我的问题只是 chrome 34!

【问题讨论】:

  • 查看文档here 并使用第二个参数“_blank、_parent、_self 和 _top”

标签: angularjs popup window window.open


【解决方案1】:
var _url = 'http://extern.com/index.html'; 
var tabWindowId = window.open('about:blank', '_blank');
tabWindowId.location.href = _url;

【讨论】:

  • 虽然此代码可能有效,但您也可以在 Stack Overflow 上添加一些解释。
【解决方案2】:

试试这个

var _url = 'http://extern.com/index.html'; 

window.location.href = _url;

【讨论】:

  • 我可以使用 Angular js 中的位置在新选项卡中打开,我作为答案发布,而不是评论
  • @parsh:您的解决方案只是使用window.location.href 而不是window.open$window.open 将浏览器指向一个新的url。这如何打开一个新标签页?
【解决方案3】:

$window.open 真的和window.open 一样,跟角度没多大关系。至于在新窗口或标签中打开,这取决于用户,以及他们使用浏览器初始化的设置。

target="_blank" 的锚链接也是如此。

【讨论】:

  • 在哪里可以设置浏览器?
  • 我猜这取决于您的浏览器,并且应该不会太难谷歌。我相信还有一些浏览器插件可以操纵标签/弹出进程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 2014-10-15
  • 2016-03-10
  • 2013-10-06
相关资源
最近更新 更多