我注意到Gmail没有遵守我的标签浏览器设置
例如:
在Firefox3.6.10中,我有取消选中选项“当我在新标签页中打开链接时立即切换到它”。
但是当我在邮件上执行CTRL + CLICK时,它会在新选项卡中打开并切换到它。
或
在IE8中,我选择了“始终在新窗口中打开弹出窗口”,但是当我在邮件上执行CTRL + CLICK时,它会在新选项卡中打开,而不是在新窗口中打开。
我的问题是 是否可以覆盖用户的浏览器设置?
答案 0 :(得分:2)
我很好奇CTRL-click和SHIFT-click如何自行处理这些gmail“假JavaScript链接”(他们显示以忽略浏览器设置),所以我做了一些测试。
gmail CTRL-单击服从浏览器“新窗口/弹出窗口”设置(在Firefox中默认为“在新标签中打开”,在IE8中默认似乎是“在新窗口中打开” 。)如果您将IE8的设置更改为“始终在新选项卡中打开弹出窗口”,那么您将获得与Firefox相同的行为。所以gmail CTRL-click很可能只是在JavaScript中使用“window.open()”,它真的没什么特别的。我严重怀疑有没有办法强制在JavaScript中打开新标签。就像Yonizaf说的那样,你观察到的东西似乎不可能。
gmail SHIFT-click可能会使用此方法尝试始终在JavaScript中打开一个新窗口(而不是新选项卡)(带窗口尺寸的window.open()): JavaScript open in a new window, not tab
就重点而言,我注意到在Firefox中新的gmail标签总是得到关注,无论“当我在新标签中打开链接时,立即切换到它”设置(如你所说),但是IE8的行为似乎是由“在创建时始终切换到新选项卡”设置控制的。我猜这可能只是Firefox和IE的开发人员如何选择处理由window.open()创建的新标签的结果,除了Yonizaf说,除了正如Yonizaf所说,你没有太多可以做的事情。使用window.focus()方法(我觉得它可能在IE中不起作用)。事实上,您可以在Firefox和IE8中自行测试(首先禁用弹出窗口阻止程序)。我将以下URL粘贴到Firefox和IE8中(“创建时始终切换到新选项卡”已禁用,并且“在新选项卡中打开弹出窗口”已启用):
javascript:window.open("http://www.google.com", "_blank")
在Firefox中,新标签在前台打开。在IE8中,新选项卡在后台打开。
我个人不喜欢这些JavaScript“假链接”,因为你失去了中键点击和右击功能,它们会触发弹出窗口阻止程序。
答案 1 :(得分:0)
第一个是可能的,因为此选项仅用于更改链接的默认行为。 gmail中的邮件列表不是普通链接,而是使用javascript。
对于第二个示例,该选项不能被网页覆盖,但使用ctrl + click总是意味着在新标签中打开,因此它被用户覆盖,而不是页面。