fix hard cabled stream_fini response when some error occurs
[brisk.git] / web / Obj / transports.phh
index 0f0e4a7..2d9714e 100644 (file)
@@ -90,6 +90,7 @@ class Transport_xhr {
 
     static function fini($init_string, $base, $blockerr)
     {
+        return (sprintf('@BEGIN@ %s window.onbeforeunload = null; window.onunload = null; document.location.assign("%sindex.php"); @END@',  ($blockerr ? 'xstm.stop(); ' : ''), $base));
         return ("");
     }
 
@@ -123,7 +124,7 @@ var xynt_streaming = \"ready\";", $base, $base);
         if ($step > 0)
             $ret .= sprintf("last_clean = %d;\n", ($step-1));
         $ret .= sprintf("
-window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming.transp.stopped = true; } };
+window.onload = function () { try { if (xynt_streaming != \"ready\") { xynt_streaming.transp.stopped = true; } } catch(e) { /* console.log(\"catcha\"); */ } };
 </script> 
 </head>
 <body>");
@@ -142,7 +143,7 @@ window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming.
 <script type=\"text/javascript\">
 var xynt_streaming = \"ready\";", $base, $base);
         $ret .= sprintf("
-window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming.reload(); } };
+window.onload = function () { try { if (xynt_streaming != \"ready\") { xynt_streaming.reload(); } } catch(e) { /* console.log(\"catcha\"); */ } };
 </script>
 </head>
 <body>");
@@ -187,5 +188,14 @@ class Transport {
             return new Transport_iframe();
         }
     }
+    static function gettype($transp)
+    {
+        if ($transp == 'xhr' || $transp == 'htmlfile') {
+            return "Transport_".$transp;
+        }
+        else {
+            return 'Transport_iframe';
+        }
+    }
 }
 ?>
\ No newline at end of file