※初心者のため、表現が適切でない部分があるかもしれません。恐縮ですがその場合はご指摘頂けますと幸いです。
■前提
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-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/");
}
});
<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側html(index.html)
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" }); }
}
});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/10 15:30
2016/04/10 15:39