Android improvements
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 5 Aug 2014 20:48:09 +0000 (22:48 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 5 Aug 2014 20:48:09 +0000 (22:48 +0200)
Add width=device-width to viewport specification, which should
remove tap delay (and automatically disable fastclick) in
current Android Chrome.

Disable origin checks, which seem to fail randomly on Android. Remove
now-unused show message, which was the only even slightly-dangerous
message.

double.html
mlpccg.html
mlpccg.js
single.html

index 83914719d995232639b68bd9bcf92605a441f3dc..915612fdd22f2c59c13423b2db6c79c6a215adcb 100644 (file)
@@ -13,7 +13,7 @@
   -->
   <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
+    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
     <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-title" content="MLPCCG">
index ae52f02ae6d90960ff4fc58268126ef3406508ff..5433a8878d9184084618c3a81efd71784b3fc651 100644 (file)
@@ -13,7 +13,7 @@
   -->
   <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
+    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
     <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-title" content="MLPCCG">
index 44ce3c33d5e3b256842900c9e357d9c202c329b2..0e8643efc432b4189f135d425a5a6a1e8897205b 100644 (file)
--- a/mlpccg.js
+++ b/mlpccg.js
@@ -66,16 +66,14 @@ function iclamp (x, lo, hi) {
 }
 
 function broadcast (data, source) {
-    var origin = (!location.origin || location.origin === "null")
-        ? "*" : location.origin;
     source = source || window;
     if (window.parent && window.parent !== source && window.parent !== window) {
-        window.parent.postMessage(data, origin);
+        window.parent.postMessage(data, "*");
     }
     for (var i = 0; i < window.frames.length; ++i) {
         var w = window.frames[i].window;
         if (w !== source) {
-            w.postMessage(data, origin);
+            w.postMessage(data, "*");
         }
     }
 }
@@ -164,10 +162,12 @@ function open (event) {
     event.preventDefault();
 }
 
-window.addEventListener('DOMContentLoaded', function () {    
-    var links = document.querySelectorAll("a[href]:not([target=_blank])");
-    for (var i = 0; i < links.length; ++i) {
-        links[i].addEventListener('click', open);
+window.addEventListener('DOMContentLoaded', function () {
+    if (navigator.standalone) {
+        var links = document.querySelectorAll("a[href]:not([target=_blank])");
+        for (var i = 0; i < links.length; ++i) {
+            links[i].addEventListener('click', open);
+        }
     }
 
     FastClick.attach(document.body, { tapDelay: 50 });
@@ -242,7 +242,7 @@ function dismiss () {
     broadcast({ type: "dismiss" });
 }
 
-function show (id, otherId) {
+function show (id) {
     var overlay = document.getElementById("overlay");
     if (!overlay) {
         overlay = document.createElement('div');
@@ -252,7 +252,5 @@ function show (id, otherId) {
     }
     var target = document.getElementById(id);
     target.parentNode.insertBefore(overlay, target);
-    if (otherId)
-        broadcast({ type: 'show', id: otherId });
 }
 
index 89f5429810f3cf5487a3596e8af93da82c215241..2852ad5e475201c19c1e1638845fbb2a35c9ff6b 100644 (file)
@@ -13,7 +13,7 @@
   -->
   <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
+    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
     <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-title" content="MLPCCG">
               overlay.parentNode.removeChild(overlay);
       };
 
-      messages.show = function (data) {
-          show(data.id);
-      };
-
       function maybeBack (event) {
           if (Math.max(score, opponentScore) !== 0
               && Math.max(score, opponentScore) !== 15) {