2015-10-06 60 views
0

有没有办法强制某个标签呈现,即使目前不是活动标签?强制要呈现的标签

我需要这样做的原因是因为我的扩展使用chrome.tabs打开多个选项卡并在它们之间切换,并且每当切换到尚未激活的选项卡时,选项卡还没有呈现,会在选项卡上出现白色闪光,直到该选项卡呈现。白色闪光的持续时间也与网页渲染的重量成正比。

虽然我注意到了,但是如果您切换到过去至少激活过一次的选项卡,则不会出现白色闪光(因为过去至少渲染过一次)

我需要在切换到它之前强制显示一个制表符,以便不出现白色闪光。

我写上的Chrome浏览器版本38(由于技术限制)

感谢

+0

早些时候,我在铬组中发布了这个确切的问题,后来才意识到该组已被弃用。 Link to chromium group post: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/sO-tfsrnwl4 – Toldry

回答

1

号你无法控制它。
白色闪烁确实是一个令人讨厌的known issue

唯一的野生想法,现在就可以实现:

  1. 创建一个空白的URL或about:blank新的最小化的窗口,
  2. 招你通过chrome.tabs.move
  3. 需要到该窗口现在的标签该标签是活动的铬应该甚至在最小化的窗口中呈现它
  4. 然后过一会儿将标签移回并激活它
+0

感谢您的回答。 – Toldry

+0

解决方案的第1步存在问题: “chrome.windows.create”方法不接受[chrome版本38]中的“state”属性(https://developer.chrome.com/extensions/windows #method-create),所以为了创建一个新的最小化窗口,你必须创建具有初始化状态的窗口,然后在回调中使用“chrome.windows.update”来将状态改变为最小化。 此方法也会产生小闪光,因为在将状态更改为最小化的时刻焦点会更改为新窗口。 有没有办法绕过这个问题? – Toldry