2017-09-03 8 views
2

サンドボックスのiframe要素内にオンラインWebページを読み込むオプションタブを使用してChrome拡張機能を開発しています。ユーザーがiframe内のリンクをクリックするたびに、ブラウザは新しい履歴エントリを作成し、ブラウザの戻る/進むボタンが有効になります。タブの履歴エントリをクリアするにはどうすればいいですか?

ユーザーがタブを閉じた後に作成されたすべての履歴エントリをクリアし、可能であれば、ブラウザが「履歴 - >最近閉じた」メニューにタブを追加しないようにします。

私は、ブラウザのコンソール内の異なるAPIを試してきましたし、次のいずれも意図したとおりに動作しているようだん:

window.onunload = function() { 
    // Using the `chrome.history` API 
    chrome.history.deleteUrl({url: 'https://example.tld/'}, console.log); 

    // Using the `chrome.browsingData` API 
    chrome.browsingData.removeHistory({ 
     "since": (new Date()).getTime() - 1000000 
    }, console.log); 
}; 

これは全くエラーなしで正常に実行されますが、私はまだタブを復元することができます「履歴 - >最近閉じた」を選択し、戻る/進むボタンを使用してiframe要素内にロードされたURL(「https://example.tld/」)に戻ることができます。どうやってこの行動を止めることができますか?

注: "history"と "browsingData"の両方のアクセス許可は、 "manifest.json"ファイルを介して取得されます。

+0

'onunload'は、迅速な同期クリーンアップのため、非同期コールバックを使用するクロムAPIでは機能しません。また、コンテンツスクリプトはchrome.browsingDataにアクセスできません。背景ページ(またはイベントページ)と[chrome.tabs API](https://developer.chrome.com/extensions/tabs)の特別なイベントが必要です。[アーキテクチャの概要](https:// developerも参照してください) .chrome.com/extensions/overview#arch)。 – wOxxOm

+0

Ref https://superuser.com/q/359879/78897 – Pacerier

答えて

0

同じシナリオがSO postで発生しました。

  1. は最近閉じたタブをして
  2. が同様にアドレスバーの予測テキストからの痕跡をワイプ:

    から、具体的に閉じたタブを削除する方法はありますか?

推奨アクションはbrowsingData.removeです。

chrome.browsingData.remove(RemovalOptions options, DataTypeSet dataToRemove, function callback) 
+0

RemovalOptionsでは時刻の設定のみが可能です。 – Pacerier

関連する問題