0

我发现自己越来越多地使用向左或向右 3 个手指的触摸板手势来在 Google Chrome 中执行“后退”或“前进”(在我的华硕 Zenbook 上,但我相信 Mac 上也有类似的手势)

我发现在浏览时,我会打开一个标签来阅读某些内容(比如来自 Twitter 或 Facebook 的点赞),当我完成后,我的直觉是“返回”以返回我正在浏览的上一个标签。(我想我从大量使用 Android 中获得了这种直觉)。

我想我需要一个 Chrome 扩展程序来关闭我当前的选项卡,如果我试图在历史记录中没有前一页的选项卡中“返回”。

我查看了 Chrome 事件和可以调用的各种方法,虽然 WebNavigation api 中有一个“forward_back”转换限定符,但在尝试使用触摸板手势或 Alt+左键盘快捷键“返回”时不会触发 onCommitted 事件.

此外,我找不到如何访问当前选项卡的历史记录以查看我所在的页面是否在堆栈中没有前一个。

任何人的想法?

function noHistory(tabId) {
    // TODO
}

function getCurrentTabId() {
    // TODO
}

function userHitBack() {
    tabId = getCurrentTabId();
    if (noHistory(tabId)) {
        chrome.tabs.remove(tabId)   
    }
}

function attachEvent() {
    // TODO attach userHitBack
}

attachEvent();
4

1 回答 1

0

要捕获“返回”事件,您需要处理按下的特定键以调用“userHitBack”函数。像这样的东西:

document.onkeydown = function() {
    if (keyId == ...)
        userHitBack()
}

您可以利用这一点,因为您可以绑定任何键来触发选项卡的关闭。

要检查选项卡历史长度,请使用以下命令:

window.history.length

它是 html5 历史API

于 2012-08-10T14:52:40.143 回答