質問編集履歴

1 ファイル名を間違えて記載していました

eveplaya

eveplaya score 10

2016/04/10 23:00  投稿

1度だけ実行されるように制限をかけたいです。
※初心者のため、表現が適切でない部分があるかもしれません。恐縮ですがその場合はご指摘頂けますと幸いです。
■前提
MILKCOCOAというツールを使い、ダーツが行えるインタラクティブサイトを作りたいと思っています。
※簡単に言うと、スマートフォンの重力センサ情報をpcに飛ばし、pc画面に変化を加えるものです。
▼(ご参考)説明ページ
 http://blog.mlkcca.com/frontend/darts-map/
■質問
スマートフォンの重力センサが一定値を超えると、YAHOO!のページに飛ばすように記載しているのですが、
繰り返しの指令を出していないのにYAHOO!のページが際限なく何ページも出てきます。
これを、新しいタブに1度表示させれば終わる(2つ目以降のタブが開かないようにする)ようにしたいです。
グーグルで調べようとしたところ、setTimeoutを使えば良いのかな?
と思ったのですが、正しく動作してくれず・・
また、今後のためどのように(どのような考え方?で)調べたらよいのかも教えて頂けると嬉しいです。
▼コード一覧(計4つ)
> pc側html(index1.html)
<img id="image" src="
http://blog.mlkcca.com/img/post/blg-20150826-darts-map-top.png" alt="スマートフォン">
<script src='https://cdn.mlkcca.com/v2.0.0/milkcocoa.js'></script>
<script>
 var milkcocoa = new MilkCocoa("vueilzvx866.mlkcca.com");
 var dartsDataStore = milkcocoa.dataStore("darts");
 var divObj = document.getElementById("img");
</script> <script src="main-pc.js"></script></body>
> PC側JS(main-ps.js)
> PC側JS(main-pc.js)
dartsDataStore.on("send", function(e){
 if(e.value.message === "init"){
   gameStart(); // ゲーム開始
 }
});
dartsDataStore.on("send", function(e) {
if (e.value.message === "start") {
divObj.innerHTML = "<img src='http://resort.travel-way.net/gif/move/new/darts_3.gif' />";
   // 矢を投げるアニメーション
window.open("http://www.yahoo.co.jp/");
}
});
> SP側html(index.html)
<body>
<div id="output">
<label id="text_label">Welcome!</label>
</div>
<script src='https://cdn.mlkcca.com/v2.0.0/milkcocoa.js'></script>
<script>
 var milkcocoa = new MilkCocoa("vueilzvx866.mlkcca.com");
 var dartsDataStore = milkcocoa.dataStore("darts");
</script>
<script src="main-sp.js"></script>
</body>
> SP側JS(main-sp.js)
dartsDataStore.send({
 message: "init"
});
var param = ["x", "y", "z"];
var TH = 10;
window.addEventListener("devicemotion", function(e) {
 for (var i=0; i<param.length; i++) {
   if (Math.abs(e.accelerationIncludingGravity[param[i]]) > TH) {
    // 投げた!
     document.getElementById('text_label').innerHTML = "send the arrow";
     dartsDataStore.send({
       message: "start"
     });
   }
 }
});
  • JavaScript

    36532 questions

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

  • Milkcocoa

    114 questions

    Milkcocoaとは、バックエンド機能を提供するBaaSサービスの一つです。サーバを準備することなく、フロントエンドのコーディングだけでデータの保存・更新・取得、またPub/Sub通信行うことが可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る