あるタブから言語を変更すると、既に開いている別のタブに反映されないという問題が発生しました。以下のコードを使用して、Cookie に言語を設定しています。
if (angular.equals(addcookie, "Yes")) {
$cookieStore.put('lang', langKey);
}
以下のコードを試して、ローカルストレージに言語を設定しました
$localStorage.language = langKey; //EN/FR
$translate.use(langKey); //translate language
言語は設定されていますが、ユーザーが 1 つのタブから言語を変更すると、既に開いているタブが反映されません。
さらに、推奨されていませんが、以下のように試しました
$scope.$storage = $localStorage.$default({
language : langKey
});
$scope.$watch(function() {
return angular.toJson($scope.$storage);
}, function() {
console.log('The language is *** '+$scope.$storage.language);
});
しかし、上記も機能していないようです。
開いているすべてのタブ/ウィンドウで言語の変更を反映するには、ngStorage 拡張機能をどのように使用すればよいですか? また、開いているタブとは別に、開いているウィンドウでも機能しますか?
ユーザーが同じ Web サイトの複数のブラウザー タブ/ウィンドウを開き、localstorage に基づいて両方のタブ (同じビュー) のコンテンツを動的に変更する必要があります。