私は Linux を使用しているので、今これをテストする方法はありませんが、問題のファイルはブラウザーのキャッシュには保存されませんが、
注: IE 10 以降、これは水を保持しなくなりました。参考文献 以下の2を編集します。
W7+: %HOMEPATH%\AppData\Roaming\Microsoft\Internet Explorer\UserData
# c:\users\*user-name*\...
XP : %HOMEPATH%\Application Data\Microsoft\Internet Explorer\UserData
# c:\Documents and Settings\*user-name*\...
または、これも(ショートカットとして)機能すると思います。
%APPDATA%\Roaming\Microsoft\Internet Explorer\UserData
そこにあるファイルを変更または削除します。
ファイルは保護されたオペレーティング システム ファイルとしてタグ付けされているため、エクスプローラーで表示するには、ビューを変更してこれらを含める必要があることに注意してください。cmd
コマンド プロンプトのようにを使用する場合は、次のように/a
フラグを含める必要があります。
dir /a
編集1:
index.dat は割り当てられたサイズなどに関する情報を保持しているため、xml ファイルを削除/移動するだけでは (おそらく) 役に立たないことに注意してください。
編集2:
わかった。IE 10を実行しているWindows 7でこれを見ました。
IE 7 (XP 上) では、上記のパスには、index.dat
保存時に更新されるファイルがありますuserData
。このファイルには、インデックス ファイルのサイズ、サブ フォルダーの数、すべてのファイルのサイズなど、さまざまな情報が保持されます。次に、フォルダーを識別する番号、保存元のURL、xmlファイルの名前、日付などを含む各ファイルのエントリ。これに対して単純なVBScriptパーサーを作成しましたが、IE 10はファイルを使用しないためindex.dat
、無駄です。
IE 10 では、さまざまなindex.dat
ファイルではなく、中央データベース ファイルが次の場所にあります。
%APPDATA%\Local\Microsoft\Windows\WebCache\
私のシステムでは、データベース ファイルの名前は ですWebCacheV01.dat
。そのV
部分はシステム間で異なるようで、おそらくファイル タイプのバージョンではなく社内のバージョン番号です。
ファイルはしっかりとロックされているため、それらを突っ込みたい場合の解決策の 1 つは、 vscscやShadowcopyなどのツールを使用してシャドウ コピーを作成することです。
とにかく、ハッキングWebCacheVxx.dat
にはもっと多くの作業が必要になるため、私はそれを試みません (少なくとも今のところ)。
ただし、ファイルが古い場所へのパスを含むエントリを取得するように登録します。たとえば、の書き込みではsomeElement.save("someStorageName");
、WebCacheVxx.dat
次のようなエントリを取得します。
...\AppData\Roaming\Microsoft\Internet Explorer\UserData\DDFFGGHH\someStorageName[1].xml
対応するファイルが上記のパスに作成されます。
container.dat
ただし、ローカルは更新されません。
ユーザーデータ
当面の問題に関しては、その API の一部ではlocalStorage
ないため、クリアは役に立ちません。userData
クリアする方法の良い例が見つかりませんuserData
。ただし、1 つの方法は、コンソールを使用することです。
このページでのテストの例:
- テキストを保存します。
次F12のように入力してデータを消去します。
/* ud as an acronym for userData */
var i, at,
ud_name = "oXMLBranch",
ud_id = "oPersistText",
ud = document.getElementById(ud_id);
/* To modify the storage one have to ensure it is loaded. */
ud.load(ud_name);
/* After load, ud should have a xmlDocument where first child should hold
* the attributes for the storage. Attributes as in named entries.
*
* Example: ud.setAttribute("someText", "Some text");
* ud.save(ud_name);
*
* XML-document now has attribute "someText" with value "Some text".
*/
at = ud.xmlDocument.firstChild.attributes;
/* Loop attributes and remove each one from userData. */
for (i = 0; i < at.length; ++i)
ud.removeAttribute(at[i].nodeName);
/* Finally update the file by saving the storage. */
ud.save(ud_name);
またはワンライナーとして:
var ud_name = "oXMLBranch", ud_id = "oPersistText", i, at, ud = document.getElementById(ud_id); ud.load(ud_name); at = ud.xmlDocument.firstChild.attributes; for (i = 0; i < at.length; ++i) ud.removeAttribute(at[i].nodeName); ud.save(ud_name);
ひとつの制約をなくす
これにはいくつかの問題があります。ud_id
を無視して、代わりに新しい DOM オブジェクトを作成することで、少なくとも 1 つを削除できます。
var i, at,
ud_name = "oXMLBranch",
ud = document.createElement('INPUT');
/* Needed to extend properties of input to include userData to userdata. */
ud.style.behavior = 'url(#default#userdata)';
/* Needed to not get access denied. */
document.body.appendChild(ud);
ud.load(ud_name);
at = ud.xmlDocument.firstChild.attributes;
for (i = 0; i < at.length; ++i)
ud.removeAttribute(at[i].nodeName);
/* Save, or nothing is changed on disk. */
ud.save(ud_name);
/* Clean up the DOM tree */
ud.parentNode.removeChild(ud);
したがって、これにより、ストレージの名前を知ることで userData をクリアできるはずです。これは、ファイル名と同じにする必要があります (を除く[1].xml
) またはページのソースを確認します。
その他の問題
上記のページでテストすると、disk is full
65,506 バイトの制限に達します。
あなたの問題は、ディスクがいっぱいではない可能性がありますが、入力データが制限を超えている場所で書き込み試行が行われる可能性があります。上記のようにデータをクリアして、それが続くかどうかを確認することができます。それ以外の場合は、書き込まれるデータをクリアする必要があります。
繰り返しますが、これは問題のアプリケーションを壊す可能性が最も高いです。
つまり、エラー テキストは次のようになります。
NNN バイトの書き込みが NNN の制限を超えており、ディスクがいっぱいではありません。
ウィンドウに接続してテストしましたonerror
が、残念ながらエラーの原因は見つかりませんでした:
var x1, x2, x3, x4 ;
window.onerror = function () {
x1 = window.event;
x2 = x1.fromElement; // Yield null
x3 = x1.srcElement; // Yield null
x4 = x1.type;
};
エンドノート
clear userDataメソッドで問題が解決しない限り、次にどこに行けばよいかわかりません。レジストリまたはその他の手段で制限を引き上げるオプションは見つかりませんでした。
しかし、おそらくそれはあなたをもう少し先に進めます.
スーパーユーザーに助けてくれる人がいるかもしれません。