2017-01-31 10 views
0

クロムブラウザでは、インデックス付きdbキャッシュとリソースキャッシュ(js/css/cookiesのようなもの)を削除するjavascriptメソッドが必要です。私は、このページhttps://developer.chrome.com/extensions/browsingDataクロムブラウジングデータの使用方法javascript api?

それはhttp://myserver

のような特定のドメインから来た。しかし、誰もがこれを行うには正しい設定でコードを書く方法を知っていなければ、私は、ファイルを削除したい。また、可能であれば を見つけましたか?

おかげ

答えて

1

Chrome JavaScript APIsはChrome拡張機能を利用できます。通常のWebページスコープからAPI関数にアクセスすることはできません。

Getting started with Chrome Extensionsのオンラインではさまざまなガイドがあります。ここには3つの基本的なものが必要です:

  1. アプリのマニフェストファイルです。見つけたchrome.browsingData APIを使用するには、browsingDataのアクセス許可を指定する必要があります。

  2. popup.htmlページ。popup.jsスクリプトファイルが読み込まれます。これはマニフェストファイルのデフォルトのポップアップとして参照されるべきです(上記のガイドのリンクを参照してください)。単にデータを確認するためにconsole.log可能性がありoptionsオブジェクト、およびコールバック関数としてpopup.jsファイルで

  3. 、あなたが必要と削除オプションでchrome.browsingData.removeを呼び出すには、(それはインスタントではありません)削除されました。

並びに上のガイドとAPIドキュメント、ダウンロードするための小さな例の拡張を提供Extension Samplesページがあります。開始するには、それらをChromeに直接展開することができます。

2番目の質問に答えるために、現在特定のドメインまたはスキーマに関連するブラウジングデータを削除するオプションはありません。あなたはChrome拡張機能を使用していないのでコメント

に基づいて

更新、あなたはキャッシュされたリソースを処理するために、ネイティブAPIやその他の技術を使用する必要があります。

IndexedDBでは、特定のドメインのデータベースを削除/消去できます。その方法については、IndexedDB APIを参照してください。

イメージ、css、JSなどのリソースの場合は、キャッシュ無効化技術を使用します。ここでは、提供しているリソースの最後にタイムスタンプまたはハッシュを追加します。これにより、ブラウザはキャッシュ内の同じリソースを再利用できなくなります。それはキャッシュをクリアしませんが、古いリソースを再利用するだけではありません。

あなたもCache-Controlヘッダーを使用することができます。

<meta http-equiv="cache-control" content="no-cache" /> 

は、過去の日付にそれらを設定することにより、クッキーを期限切れ。すべてのURLがあるように、あなたのドメインについては

+0

私はそれは私がすべてでこれを使用することはできません意味し、拡張機能を使用していないのですか? – omega

+0

@omegaどのように使ってみましたか? WebサイトのJSが 'chrome.browsingData.remove(...)'を呼び出し、訪問者の履歴をすべて削除できるのではないかと想像できますか? –

+0

私はCORSと同じ論理を考えていました。同じドメインからのものであれば削除してください。 – omega

1

クッキー

は、純粋なJavaScriptのに

function deleteAllCookies() { 
    var cookies = document.cookie.split(";"); 

    for (var i = 0; i < cookies.length; i++) { 
     var cookie = cookies[i]; 
     var eqPos = cookie.indexOf("="); 
     var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; 
     document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; 
    } 
} 

JS/CSSファイル、JS/CSSのURLへの

追加のタイムスタンプを使用して削除することができますユニークなので、キャッシングは機能しません。 https://css-tricks.com/can-we-prevent-css-caching/

のIndexedDBhttps://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB)私の場合は

function clearObjectStore(store_name) { 
    var store = getObjectStore(DB_STORE_NAME, 'readwrite'); 
    var req = store.clear(); 
    req.onsuccess = function(evt) { 
     displayActionSuccess("Store cleared"); 
     displayPubList(store); 
    }; 
    req.onerror = function (evt) { 
     console.error("clearObjectStore:", evt.target.errorCode); 
     displayActionFailure(this.error); 
    }; 
    } 
関連する問題