0

Google Chromeで「戻る」または「進む」を実行するために、左または右に3本の指のタッチパッドジェスチャをますます使用していることに気づきました(私のAsus Zenbookでは、Macにも同様のジェスチャがあると思います)。

ブラウジング中にタブを開いて何か (Twitter や Facebook の「いいね!」など) を読み、読み終わったら、本能的に「戻る」ことで、ブラウズしていた前のタブに戻ります。(私は Android をよく使うことから本能を得たと思います)。

履歴に前のページがないタブに「戻る」場合に、現在のタブを閉じる Chrome 拡張機能が必要であると考えました。

Chrome イベントと呼び出すことができるさまざまなメソッドを調べました。WebNavigation API に「forward_back」トランジション修飾子がありますが、タッチパッド ジェスチャまたは Alt+left キーボード ショートカットを使用して「戻る」ことを試みると、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 historyAPI です

于 2012-08-10T14:52:40.143 に答える