OSX(エル・キャピタン+ヨセミテ)のwebviewでlocalStorage
に問題があります。OSX webviewのlocalStorageがページのリロードに永続しない - Office365 Addin
私はでOffice365アプリケーションを作っています。それはWindows上でもMac上でもSafariでもうまくいきます。それは面倒なことを証明しているMacのwebviewだけです。ホストされたドメイン上にあるため、thisは問題ではありません。
以下のテストコードからわかるように、情報をlocalStorageに保存してから、変数に値を設定しています。つまり、ある時点でlocalStorageに保存しておく必要がありますが、ページを更新するとデータが失われます。注:私のアプリのすべてのデータが失われているわけではなく、ちょっとしたものです。
私はQUOTA_EXCEEDED_ERRを保存していません。
ここでは、リフレッシュに失敗したテストコードです。
$scope.initTest = function() {
$scope.errorsRecorded += "************** Initialize **************";
var notNested = localStorage.getItem('lclNotNested');
if (!notNested) {
$scope.errorsRecorded += "*_*__NOT NESTED NOT SAVED";
$scope.notNested = "NOTSET";
} else {
$scope.errorsRecorded += "*_*__NOT NESTED ___ val=" + notNested + ';';
$scope.notNested = JSON.parse(notNested);
}
};
$scope.initTest();
// Button press event
$scope.setSingle = function() {
// Set the value to localStorage, then get it back for the UI
// so we know the value was set.
try {
localStorage.setItem('lclNotNested', JSON.stringify(Date.now()));
} catch (e) {
$scope.errorsRecorded = $scope.errorsRecorded + '.....<br/>\r\n ' + e;
}
$scope.notNested = JSON.parse(localStorage.getItem('lclNotNested'));
};
正しく設定された後、読み込みに失敗するスクリーンショットがあります。
私はそれを理解しようとして時間を費やしてきたし、それをデバッグする方法を見つけることができません。基本的なWebviewコードにアクセスすることはできません。マイクロソフトが提供するものの上にあるWebアプリケーションです。
何が起こっているのか、どのようにデバッグすることができますか(MacのwebviewのlocalStorageファイルを表示するなど)。ヘッドの全体の負荷が傷やアプリにしようとするこのjsfiddleを作成した後