【问题标题】:Opening multiple tabs in specific window of browser?在浏览器的特定窗口中打开多个选项卡?
【发布时间】:2013-05-28 15:52:01
【问题描述】:

我知道 JavaScript 有一个方法

window.open(URL,name,specs,replace)

我可以用它打开一个标签或新窗口的名字 例如。

window.open('www.google.com','name1');

并通过调用替换同一选项卡中的内容

window.open('www.yahoo.com','name1');

问题:
我可以用一组带有名称的选项卡来识别我的窗口吗? 示例:在 windowname1 中打开我的网页中的所有 google 相关链接,并在 windowname2 中打开所有 yahoo 相关链接

详情: 在我的网页中,我有四个链接
www.google.com
www.google.com/psearch

www.yahoo.com
www.yahoo.com/mail

当用户点击第一个 goolge 链接时 -> 会打开一个新窗口,名称 ='alpha' 当用户点击第二个谷歌链接时->它不会打开一个新窗口,而是在窗口'alpha'中打开一个新标签

当用户点击第一个 yahoo 链接时 -> 会打开一个新窗口,名称为 ='beta' 当用户单击第二个 yahoo 链接时 -> 它不会打开窗口链接,而是在窗口“beta”中打开一个新选项卡

【问题讨论】:

  • 嗯,你试过了吗?有用吗?
  • 这可行,但我问是否可以在特定现有窗口中打开新标签?

标签: javascript firefox browser


【解决方案1】:

没有。浏览器在网站上提供的 JavaScript 无法管理选项卡/窗口,而不仅仅是一个单一的视口名称。

【讨论】:

  • 您是说我们不能有“窗口”名称而只有选项卡名称? (tabname === windowname 如果窗口只有一个标签)
  • 是的。对象名称 window 早于浏览器中的选项卡支持。
  • 是的,知道了。函数名称窗口对于新一代来说有点混乱。谢谢:)
【解决方案2】:

您可以将 url 映射到其窗口的名称:

var mapping = {
  'www.google.com' : 'alpha',
  'www.google.com/psearch' : 'alpha',
  'www.yahoo.com' : 'beta',
  'www.yahoo.com/mail' : 'beta'
}

这样,你可以通过url访问名字,并使用名字打开一个窗口或使用一个现有的窗口:

var name = mapping[url];
window.open(url,name);

【讨论】:

  • 如何在特定的新窗口中打开特定的新标签??
  • 这不是替换标签的内容,而是在窗口中打开新标签吗??
  • @Gaurav 来自 JS,您无法决定打开窗口或选项卡。对于 JS,窗口和选项卡是一样的。最接近指定营业地点的方法是名称。
  • 是的,我已经尝试过了……这只会替换现有页面的内容。我认为我们没有任何方法来识别带有名称的窗口。我们只能识别带有名称的选项卡。无论如何感谢您的回复
猜你喜欢
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多