Backbone.LocalStorage プラグインをバックボーンアプリで使用しています。 chromeおよびsafariでは正常に動作していますが、Firefoxで以下のエラーが発生しています。
DOMException [SecurityError: "操作は安全ではありません。"コード:18 nsresult:0x80530012場所: http:// localhost:8000/js/libs/backbone.localStorage/backbone.localStorage.js?version = 1453910702146:137]
python simpleHttpServer
を使用しています
このエラーを解決するにはどうすればよいですか?
[〜#〜]更新[〜#〜]
これが私のコードです。
paths: {
'jquery' : 'libs/jquery/dist/jquery',
'underscore' : 'libs/underscore/underscore',
'backbone' : 'libs/backbone/backbone',
'localStorage' : 'libs/backbone.localStorage/backbone.localStorage',
'text' : 'plugins/text'
}
これは、localStorageが使用されるコレクションです。
var Items = Backbone.Collection.extend({
model: SomeModel,
localStorage: new Backbone.LocalStorage('items'),
});
更新2
Firefox 36を使用しています。
更新3
CORSの問題のようですが、私のFirefoxバージョンは36です。これで問題ありません。
UPDATE 4
このエラーは、Firefox Nightlyバージョン44でも発生しています。Firefoxをバージョン44に更新しました。それでも同じエラーが発生します。
これは、別のドメインにあるリソース(CSS ...)にアクセスしようとすると発生します。このエラーに対処するには、これを使用できます。
try {
//your critical access to ressources !
//rules = document.styleSheets[i].cssRules;
} catch(e) {
if(e.name !== "SecurityError") {
throw e;
}
FirefoxでCookieが有効になっていることを確認してください。設定は、メニュー/オプション/プライバシー/履歴の下にあります
ドロップダウンで、[履歴を記憶する]を選択するか、履歴にカスタム設定を使用したいが、オプション[サイトからのCookieを受け入れる]を選択した場合
それが役に立てば幸い。
ドメインが同じであることを確認してください。確認 Same Origin Policy 同じドメイン、サブドメイン、プロトコル(httpとhttps)、同じポートを意味します。
1つのスクリプトで同様の問題が発生しました。エラーを調査したところ、SSL Webソケットが必要であることがわかりました。そのため、SSLを開始して再度チェックしましたが、動作しました。 HTTPSを有効にしてWebサイトにアクセスしてみてください https://127.0.0.1/ エラーが解決する場合があります。