[Therion] Mapiah, again
Tarquin Wilton-Jones
tarquin.wilton-jones at ntlworld.com
Thu Jun 12 10:58:58 CEST 2025
On 12/06/2025 09:11, Bruce Mutton wrote:
> Sounds exciting. I’m still on Windows I’m afraid, so would like to try
> the web app while there is no Windows install.
>
> I’m missing something – all I get on Brave, Chrome and Edge Browsers is
> a blank white screen.
Uncaught ReferenceError: _flutter is not defined at webapp/:51:7
<script src="flutter.js" defer></script>
...
<script>
window.addEventListener('load', function (ev) {
// Download main.dart.js
_flutter.loader... <--------- Error happens here
_flutter does not exist in the global scope. I have not looked too far
into why, because the flutter code has been minified, and is very
difficult to read as a result. You do not need to minify code. Your
server will support gzipping and other compression anyway, and that can
do a better job than a minifier - your server sends things compressed
using brotli already, which is extremely efficient at compression. The
bonus is that other people will then be able to read the code and help
you with it.
I don't know if this is the problem, but in flutter.js, the very first
line performs a sniff that is bound to go wrong in some browsers, since
it thinks Google and "Edg/" are the only browser vendors using Chromium,
which is absolutely not the case. There are several other vendors using
Chromium, and they have a right to use their own vendor string. Sniffing
like that is very bad form, since it requires browser vendors to falsify
information in order to make your app work correctly. (I work for one of
those browser vendors, and we are forced to pretend our product is made
by Google, which it isn't. However, many other vendors quite rightfully
want to identify themselves correctly.)
Use object detection instead. The subsequent code uses object detection
with its typeof checks - a more normal method would be:
if( window.ImageDecoder ) {
//do a thing that uses it.
More information about the Therion
mailing list