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

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

ただいまの
回答率

87.92%

Monacaのプレビューがプログラムの最新状態を反映しないのですが。

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,063

前提・実現したいこと

「つくりながら覚えるスマホゲームプログラミング」という本で勉強しています。
Chapter7のコードを入力して実行したいのですが、
スマホ上では正常動作しているものの、
パソコン上のプレビューがバグだらけのおそらく打ち込み途中の状態のままです。
パソコン上でも正常動作するためにはどうすれば良いでしょうか?

発生している問題・エラーメッセージ

パソコンのプレビューで起きている問題
問題3の選択肢<hr>の頭に余分な,が付いている
正解の番号が問題ごとに違うはずなのに4番目で固定されている
正解時の得点が問題ごとに違うはずなのに90点で固定されている

該当のソースコード

■data.js■
// 問題データ================================

var quiz_data = [
{'Q':'スマートフォンの開発で一般に使われていない言語は?',
'C':['Java','Objective-C','Swift','Basic'],
'A':3, 'P':90 },
{'Q':'現在、Webページで使われていない言語は?',
'C':['HTML','VCL','CSS','JavaScript'],
'A':1, 'P':80 },
{'Q':'Webページに表示されないのはどのタグ?',
'C':['<p>','<hr>','<meta>','<div>'],
'A':2, 'P':100 },
];

// これより処理===============================

var IndexedDB;
var idb;
var ver_number = 8; // バージョン番号
var data_max = 0; // データの数

// 初期化処理
function initialDB(){
var request = window.indexedDB.open("QuizDB", ver_number);

// エラー時の処理
request.onerror = function(event) {
alert("ERROR!");
};
// 成功時の処理
request.onsuccess = function(event) {
idb = event.target.result;
var transaction = idb.transaction(["quiz_data"],'readonly');
var store = transaction.objectStore("quiz_data");
var count_req = store.count();
count_req.onsuccess = function(){
data_max = count_req.result;
}
};
// 更新時の処理
request.onupgradeneeded = function(event) {
idb = event.target.result;
if (idb.objectStoreNames.contains('quiz_data')) {
idb.deleteObjectStore('quiz_data');
}
var store = idb.createObjectStore("quiz_data",
{ keyPath: 'id', autoIncrement: true });

var request2 = window.indexedDB.open("QuizDB", ver_number);

request2.onsuccess = function(event2) {
idb = event2.target.result;
createData();
var transaction = idb.transaction(["quiz_data"],'readonly');
var sotre = transaction.objectStore("quiz_data");
var count_req = sotre.count();
count_req.onsuccess = function(){
data_max = count_req.result;
}
};
};
}

// データの新規作成
function createData(){
var transaction = idb.transaction(["quiz_data"],'readwrite');
var store = transaction.objectStore("quiz_data");
for(var i = 0;i < quiz_data.length;i++){
var data = quiz_data[i];
store.put(data);
}
}

initialDB(); //初期化を実行

■main.js(抜粋)

// 回答処理
function checkAnswer(event){
if (!select_flg){ return; }
var sel = event.target.number;
setAnswer(current_data.A);
if (sel == current_data.A){
score_data[count] = true;
CheckIt.good.moveTo(0, 0);
CheckIt.bad.moveTo(-1000, -1000);
score_num += current_data.P;
score_label.text = score_num;
} else {
score_data[count] = false;
CheckIt.good.moveTo(-1000, -1000);
CheckIt.bad.moveTo(0, 0);
}
}

試したこと

書籍のコードと見比べてバグは取ったはずですが…

補足情報(言語/FW/ツール等のバージョンなど)

より詳細な情報

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • tkk44

    2017/06/23 10:07

    現状も本タイトルの最新状態を反映しない問題が継続していますでしょうか?

    キャンセル

  • oboromuramasa

    2017/06/23 16:36

    はい。少し状態が動いた事もありましたが、相変わらずプレビューが最新状況を反映しません。スマホのデバッガーは同期データとローカルストレージを削除することで最新を反映してくれます。

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 87.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る