Open say4hati8 opened 2 years ago
補足です。 開発環境は、ローカルでVSCODEを使っています。htmlとjavascriptとCSSです。 はじめはmonacaIDEを使用していたのですが、動作が遅かったのでストレスでした。 ロジックをローカルで完成させ、IDEにあげて、少し調整しようと思いました。 このローカルで開発しているのも要因でしょうか?
htmlファイルはすべて同じ階層にあります。
例 windows10デスクトップに APPフォルダ └CSSフォルダ └JSフォルダ(api、clikey→app.js共通) └index.html └login.html └ほか
「NCMBはページをまたいだユーザー認証を保持できない」
いいえ、可能です。
ローカルで開発している
特に問題ありません。そのまま進めてもらって大丈夫です。
ncmbは index.html / login.html 両方で初期化されているでしょうか?
ありがとうございます! 可能なのですね。自分の書いたものをもう一度改めてみます。
・jsフォルダ └app.js→ncmb = new NCMB(appKey, cliKey);の記述 ・index.html→
タグ内で「js/app.js」を読み込み ・abc.html→同じくタグ内でapp.jsを読み込み ・xyz.html→同じくタグ内でapp.jsを読み込み ・login.html→同じくタグ内でapp.jsを読み込みです。
よって、どのページでも、ncmbを初期化としていると思っています。
あまり関係ないかも知れませんが、HTMLファイルは直接ブラウザで開いているのでしょうか?つまり file://〜 といった形でしょうか? もしかすると、その場合はセキュリティ要件によってlocalStorageへの書き込みが塞がれている可能性があるのかなと。ローカルで開発する場合には Monaca CLI コマンド - Monaca Docs などを使って開発用のWebサーバーを立てる形で行ってください。
エスパー的な読みありがとうございます。結論から申しますと、仰る通りでした。 ひとまずphpのビルトインサーバーで確認したところ、ページをまたいでユーザー情報が反映、取得できました。 ありがとうございます!!
ページ構成を画像添付できるといいのですが…。 NCMBはページをまたいだユーザー認証を保持できないのでしょうか? SPA前提という仕様でしょうか?
index.html login.html
login.htmlで「ncmb.User.login」し、「 ncmb.User.getCurrentUser()」すると、objectが取れます。 しかし、ログイン後にlocation.hrefでindex.htmlに移動した際に、「 ncmb.User.getCurrentUser()」がnullとなります。
localstorageについては、login.htmlではユーザー情報が確認できますが、index.htmlでは確認できません。
よって、「NCMBはページをまたいだユーザー認証を保持できない」という勝手な切り分けになってしまったのですが、いかがでしょうか?
どうぞ宜しくお願い致します。