2011-02-09 4 views
0

私は、ユーザーの選択内容をローカルに保存し、次にそのページをナビゲートするときに再ポップするjavascript駆動型ツールを開発中です。 Chromeでは正常に動作しますが、IE8やSafariでは動作しません。Chrome以外のもので動作するCookieもHTML5のローカルストレージもありません

私はこの情報を標準のjavascriptを使用してクッキーに保存しようとしましたが、jquery.cookie.jsプラグインを使用しましたが、最近はローカルストレージを代わりに使用しようとしました。私は一束のXMLを保存しているので、私の理論はクッキーに保存するには大きすぎるかもしれないが、ローカルストレージには大きすぎる方法はないということだった。

私はlocalhostの下の私のローカルIISでこれをテストしています。他のブラウザが動作していない理由を考える人はいますか?私はそれがクッキーとローカルストレージの両方に影響することが奇妙なことを発見しています。私はそれが何らかの種類のローカルストレージ、クッキーなどを制限するセキュリティ設定だと考えることができます。

IEの設定でIISの設定を使いこなしましたが、うまく動作しません。どんな考えやアイデアも大歓迎です!

よろしく、

マット

+0

回答が必要な場合は、まず詳細を事前に支払う必要があります。あなたのコードは何ですか?どのようにして「他のブラウザ」は動作していないのですか?どのOS、どのバージョンで「他のブラウザ」とは何ですか? – Phrogz

+0

クイックアップデート。 XMLが実際に格納されて返されていることがわかりました。 IE8でXMLをトラバースするのは実際問題です!何らかの理由でこのjavascriptに問題がありますが、Chromeでは次のような問題はありません:$(xml).find( "Action")。each(function(){alert( 'x');}); –

答えて

1

XMLは文字列かDOM参照のようなオブジェクトですか?私はIE8のlocalStorageはキーと値として文字列を取ることができます...または文字列に自動的にキャストできるプリミティブな値...だから、オブジェクトを文字列にする必要があります。

IE8のサイズの制約が気になる場合は、localStorage.remainingSpace(IE固有のプロパティ)の値を確認してください。

Chromeで動作するSafariがなぜ機能しないのかよくわかりません。多分それはあまりにも文字列を取ることができます。

+0

私はXMLをvarにオブジェクトとして保存していますが、jQueryを使用してそれをトラバースすることができます。保存すると、XML文字列に変換されます。私はおそらくそれが問題の原因となっているXMLかどうか疑問に思っていました。なぜなら、ローカルストレージを番号で使用すると、うまくいきます。 XMLをエンコードするHTMLを試してみましょう。私は、サイズの制限が何とかすることはできないと思っています。なぜなら、XMLはほんの僅か(約1kb)だからです。 –

+0

jQueryを使用しているので、このプラグインを入力して試してみました:https://sites.google.com/site/daveschindler/jquery-html5-storage-plugin。 localStorageを使用しようとしますが、サポートされていない場合はクッキーに戻ります。 – DaveS

+1

jQuery .find()メソッドに関するあなたのコメントが表示されませんでした... http:// stackoverflowと同じ問題のようです。com/questions/2815673/why-is-ie8-on-xp-xml-using-jqueryを正しく読み込みません。そこで受け入れられた解決策を見てください。 – DaveS

0

どのようにデータを保存していますか? Chromeで動作する場合、ImはSafariで動作していないことに驚いています。開発者用ツールを使用して、ローカルストレージにあるものを確認してください。 FirefoxでFirebugを使用してください。

つまり、最初にどこが失敗しているのかを把握します。

+1

ええ、私は基本に戻って、どの点で失敗したかを試してみることに決めました。私はちょうど私のIE8で実際に動作する非常に単純なテストページ(http://theprogressbar.co.uk/test.html)を作成しました。 次は、テストページを拡張し、問題コードに近づけることにします。 –

関連する問題