1
私のコードにいくつか問題があります。私のWebアプリケーションはAngularJs 1.5で動作しています。私はショッピングカート付きのインターネットショップを持っています。問題は、sessionStorageに保存してブラウザを更新した後に復元する必要があるデータが、デスクトップブラウザで正しく動作していることですが、iOS(ChromeとSafariでテスト済み)ではまったく動作していません。 Android(Chrome)も正常に動作しています。 iPhoneからMacOS Safariのコードを調べている間、コンソールは何のエラーも投げていない。ここにコードがあります:IOSセッションストレージ
(function(angular, loc) {
var app = angular.module('myModule', ['ui.bootstrap','ui.mask'])
app.run(function($rootScope) {
window.onbeforeunload = function(event) {
$rootScope.$broadcast('savestate');
};
});
app.factory('basket', ['$rootScope', function($rootScope) {
var basketData = {
content: []
};
function saveState() {
sessionStorage.basket = angular.toJson(basketData.content);
}
function restoreState() {
basketData.content = angular.fromJson(sessionStorage.basket);
}
$rootScope.$on("savestate", saveState);
if (sessionStorage.basket) restoreState();
return basketData;
}]);
...
})(angular, window.location);
なぜsessionStorageですか?セッションストレージがなくなり、なぜlocalStorageを使用しないのですか? – 1Mayur
私は以前にストレージを使ったことがありません。私はちょうどスクリプトを使用する準備ができているのを探しました。 – fakie
私はlocalStorageにsessionStorageを変更しました。それは適切に動作します。タブを閉じて別のタブでウェブサイトを開くと、ストレージが復元されます。しかし、iOSはまだ効果がありません。 iOSで – fakie