質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

2回答

1784閲覧

jsで一部pushPageが動作しません

mochikueba

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2018/01/05 14:03

編集2018/01/05 14:05

###前提・実現したいこと
Monacaアプリから会員管理機能を使う
http://mb.cloud.nifty.com/doc/current/tutorial/exchange-user-management.html

controllerをつかってやってます。会員やデータはニフクラで管理しています。

上記のチュートリアルを参考にしながら、ログイン機能をつくっていたのですが
ログインページを表示するとき、既にログイン済の場合に実行するはずのpushPageが動いてなくて困っています。
同ページのログインボタンを押下した場合は動作します。
ログイン済時、ログイン成功時はタブバーのページへ遷移します。
よろしくお願いいたします。

###該当のソースコード
index.html

html

1<head > 2 <meta charset="utf-8"> 3 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 4 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 5 <script src="components/loader.js"></script> 6 <link rel="stylesheet" href="components/loader.css"> 7 <link rel="stylesheet" href="css/style.css"> 8 <script src="js/app.js"></script> 9</head> 10<body > 11<ons-navigator var="myNavigator" page="login.html" > 12</ons-navigator> 13</body>

login.html

html

1<ons-page ng-controller="loginController"> 2 <ons-toolbar> 3 <div class="left"> 4 <ons-back-button>もどる</ons-back-button> 5 </div> 6 <div class="center"> 7 ログイン 8 </div> 9 </ons-toolbar> 10 <div style="text-align: center"> 11 <p> 12 <input type="text" placeholder="ユーザー名" id="loginUserName" ng-model="loginUserName"></input> 13 </p> 14 <p> 15 <input type="password" placeholder="パスワード" id="loginPassword" ng-model="loginPassword"></input> 16 </p> 17 <p> 18 <ons-button ng-click="login(loginUserName,loginPassword);">ログイン</ons-button> 19 </p> 20 </div> 21</ons-page>

app.js

javascript

1var module = ons.bootstrap(); 2var ncmb = new NCMB(appKey, clientKey); 3module.controller("loginController", function(userInfo,$scope) { 4 $scope.loginUserName = ""; 5 $scope.loginPassword = ""; 6 7  // ログイン 8 $scope.login = function(loginUserName,loginPassword){ 9 ncmb.User.login(loginUserName, loginPassword) 10 .then(function(user) { 11 userInfo.refresh(); 12 myNavigator.pushPage("tab.html"); 13 }) 14 .catch(function(user, error) { 15 ons.notification.alert({ 16 message: error.message, 17 title: "失敗した", 18 buttonLabel: "OK", 19 animation: "default" 20 }); 21 }); 22 23 24 }; 25 26 // ログイン済かどうかのチェック 27 if (userInfo.userName != null) { 28 var options = { 29 animation: 'lift', 30 onTransitionEnd: function() {} 31 }; 32 33 try { 34 var currentLoginUser = ncmb.User.getCurrentUser(); 35 if (currentLoginUser) { 36 //ログイン済みであればメニューの表示 37 myNavigator.pushPage("tab.html");  //ここ 38 39 } 40 } 41 catch (error) { 42 ncmb.User.logout(); 43 } 44 } 45});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2018/01/06 04:33

エラーメッセージをご提示ください。
mochikueba

2018/01/06 04:42

実行した段階ではでてきませんでした。すみません。
guest

回答2

0

ons-navigatorなる非標準タグが使われているので調べてみました。
OnsenUIというフレームワークの機能のようですね。
index.htmlに、OnsenUI関連のライブラリが指定されていないので、動かないのだと思いますよ。

https://ja.onsen.io/v2/guide/#hajimetenoonsen-uiapuri

投稿2018/01/06 04:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

index.htmlのons-navigatorの中に直接login.hrmlの内容を書いて実行したらできました。
でもなんでかはわかんないのて勉強します。
ファイルを別にしたのかダメだったんでしょうか。

投稿2018/01/06 04:39

mochikueba

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問