我可以在保留当前选项卡的同时在后台打开新选项卡吗?
使用 JavaScript 时,可以打开使用以下代码在不同选项卡中创建一个新页面,同时将注意力集中在当前选项卡上:
open('http://example.com/'); focus();
但是,这种方法可能会导致新选项卡在切换回 Chrome 中的当前选项卡之前短暂闪烁。为了避免这个问题,需要一种更复杂的方法。
解决方案:模拟按键事件
此解决方案涉及模拟键盘上的组合键(例如 Ctrl 单击)动态生成的元素来创建背景选项卡。以下代码完成此操作:
function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); // Simulate Ctrl key press evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
此方法通过创建一个 来工作。元素,将其 href 属性设置为所需的 URL,然后使用模拟的“Ctrl”键调度单击事件。这会导致打开后台选项卡而不影响当前选项卡的焦点。
以上是如何在没有 Flash 的情况下从 JavaScript 在后台打开新选项卡?的详细内容。更多信息请关注PHP中文网其他相关文章!