@@ -29,6 +29,16 @@
         );
     }
 
+    try {
+        Promise.resolve();
+    } catch (ex) {
+        // this checks for several cases actually, typical is
+        // Promise() being missing on some legacy browser, and a funky one
+        // is Promise() present but buggy on WebOS 2
+        window.Promise = undefined;
+        self.Promise = undefined;
+    }
+
     if (!self.Promise) {
         // Load Promise polyfill if they are not natively supported
         injectScriptElement(
(function() {
    "use strict";

    function injectScriptElement(src, onload) {
        if (!src) {
            return;
        }

        var script = document.createElement("script");
        if (self.dashboardVersion) {
            src += `?v=${self.dashboardVersion}`;
        }
        script.src = src;

        if (onload) {
            script.onload = onload;
        }

        document.head.appendChild(script);
    }

    function loadSite() {
        injectScriptElement(
            "./libraries/alameda.js",
            function() {
                // onload of require library
                injectScriptElement("./scripts/site.js");
            }
        );
    }

    if (!self.Promise) {
        // Load Promise polyfill if they are not natively supported
        injectScriptElement(
            "./libraries/npo.js",
            loadSite
        );
    } else {
        loadSite();
    }
})();

Can you also remove this condition while you're in there? The promise polyfill already does that check, so no need to repeat it :)