1

我知道 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 链接时 -> 当用户单击第二个 google 链接时,会打开一个名称 ='alpha' 的新窗口 -> 它不会打开新窗口,而是在窗口 'alpha' 中打开一个新选项卡

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

4

2 回答 2

1

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

于 2013-05-05T18:35:39.200 回答
0

您可以将 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);
于 2013-05-05T18:35:38.340 回答