【问题标题】:What are the properties for a tab that have the same values for every tabs in a tabbed browser window?对于选项卡式浏览器窗口中的每个选项卡具有相同值的选项卡的属性是什么?
【发布时间】:2013-12-20 13:42:30
【问题描述】:

选项卡式浏览器窗口中的每个选项卡具有相同值的选项卡的属性是什么?

例如, 如果您有 1 个打开了 3 个选项卡的窗口,那么这些选项卡的 3 个 url [window.location.href/document.location.href] 和/或标题 [document.title] 可能相同也可能不同。

但是,如果您有另一个带有 2 个选项卡的窗口,那么这 2 个选项卡将具有相似的公共属性,具有相同的值,但与前 3 个选项卡不同。

是否存在每个选项卡具有/共享的任何公共属性,该属性对于浏览器窗口中的所有选项卡具有相同的值,并且可以通过 javascript 或 jquery 获取/设置?在浏览器扩展中,您可以找到浏览器窗口的 id,该窗口中的所有选项卡都相同;我需要类似的东西,但使用 javascript 或 jquery。

【问题讨论】:

  • 您无法使用 JavaScript 访问浏览器的选项卡,但您使用脚本自己打开的选项卡除外
  • 这听起来像是 X-Y 问题。你想达到什么目的?
  • 我需要在浏览器窗口中将这 3 个选项卡或 2 个选项卡唯一标识为单独的一组选项卡。即 3 个标签 = ID1 或 Value1,2 个标签 = ID2 或 Value2。
  • 在浏览器扩展中,您可以找到该窗口中所有选项卡的浏览器窗口的ID;我需要类似的东西,但使用 javascript 或 jquery。

标签: javascript jquery browser tabs window


【解决方案1】:

Javascript 沙箱doesn't give you that information。大多数类似的答案建议使用LocalStorage or cookies to manage different tabs manually

如果您有一个“主”窗口,您可以使用它们的 window.name 即管理其他窗口

var childWindow = window.open('http://localhost/yoursite.html', 'window1');

...

childWindow.close()

在新标签页或窗口中

window.name === 'window1'

这允许您保留对其他选项卡的引用,我不知道这是否有助于您实现目标?

【讨论】:

  • 我不需要获取所有标签的 href [这将违反安全/隐私],这只是一种在浏览器窗口中识别标签集的方法。在浏览器扩展中,您可以找到浏览器窗口的 id,该窗口中的所有选项卡都相同;我需要类似的东西,但使用 javascript 或 jquery。
  • 这也违反了安全性
  • 我明白,但我只需要一些值,可以用来区分任何窗口中的一组选项卡和另一组选项卡;即以某种方式区分窗户。一种解决方案是使用“window.outerWidth”,该窗口中的每个选项卡都相同。还有其他可以使用的值吗?
【解决方案2】:

我找到了一种使用 "window.outerWidth" 的解决方案,但我正在寻找更好的解决方案。

您可以使用 "window.outerWidth" 值作为 ID 来标识特定窗口的选项卡集(即 3 个选项卡),这对于该浏览器的所有选项卡都是相同的窗口。

但对于另一个窗口(即 2 个选项卡),“window.outerWidth” 值将与第一个窗口不同,但对于该浏览器窗口中的 2 个选项卡而言,该值将相同。但如果窗口最大化或具有相同的 "window.outerWidth" 那么这将不起作用。

有更好的建议吗?

【讨论】:

    猜你喜欢
    • 2018-06-03
    • 2012-03-14
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多