TypeError:无法读取未定义 Flutter 的属性“isSupported”
Posted
技术标签:
【中文标题】TypeError:无法读取未定义 Flutter 的属性“isSupported”【英文标题】:TypeError: Cannot read property 'isSupported' of undefined Flutter 【发布时间】:2021-07-26 14:42:17 【问题描述】:这是我的 index.html 文件代码
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
Fore more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
-->
<base href="/">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- ios meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="order_system">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>order_system</title>
<link rel="manifest" href="manifest.json">
<link rel="stylesheet" type="text/css" href="splash/style.css">
</head>
<body>
<!-- This script installs service_worker.js to provide PWA functionality to
application. For more information, see:
https://developers.google.com/web/fundamentals/primers/service-workers -->
<script src="https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.2.5/fire-messaging.js"></script>
<script src="main.dart.js" type="application/javascript"></script>
<script>
if ("serviceWorker" in navigator)
window.addEventListener("load", function ()
navigator.serviceWorker.register("/flutter_service_worker.js");
navigator.serviceWorker.register("/firebase-messaging-sw.js");
);
</script>
<script>
var firebaseConfig =
apiKey: "AIzaSyBcp4nLrdafciehE8r6ajHkwMhON9cLjJs",
authDomain: "order-system-623aa.firebaseapp.com",
databaseURL: "https://order-system-623aa.firebaseio.com",
projectId: "order-system-623aa",
storageBucket: "order-system-623aa.appspot.com",
messagingSenderId: "34260933778",
appId: "1:34260933778:web:4ea612571d33e7b27c5a4b",
measurementId: "G-C798KHHTXK",
;
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
</script>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="/__/firebase/8.4.2/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="/__/firebase/8.4.2/firebase-analytics.js"></script>
<!-- Initialize Firebase -->
<script src="/__/firebase/init.js"></script>
<script>
if ('serviceWorker' in navigator)
window.addEventListener('flutter-first-frame', function ()
navigator.serviceWorker.register('flutter_service_worker.js');
);
</script>
<picture id="splash">
<source srcset="splash/img/light-1x.png 1x, splash/img/light-2x.png 2x, splash/img/light-3x.png 3x" media="(prefers-color-scheme: light) or (prefers-color-scheme: no-preference)">
<source srcset="splash/img/dark-1x.png 1x, splash/img/dark-2x.png 2x, splash/img/dark-3x.png 3x" media="(prefers-color-scheme: dark)">
<img class="center" src="splash/img/light-1x.png" />
</picture>
<script src="main.dart.js" type="application/javascript"></script>
</body>
</html>
这是我的控制台错误
在新的 firebase_messaging_web.FirebaseMessagingWeb.new (http://localhost:64821/packages/firebase_messaging_web/firebase_messaging_web.dart.lib.js:171:51) 在 Function.registerWith (http://localhost:64821/packages/firebase_messaging_web/firebase_messaging_web.dart.lib.js:62:73) 在 Object.registerPlugins (http://localhost:64821/packages/order_system/generated_plugin_registrant.dart.lib.js:32:49) 在主要(http://localhost:64821/web_entrypoint.dart.lib.js:44:35) 在 main.next () 在 runBody (http://localhost:64821/dart_sdk.js:39051:34) 在 Object._async [as async] (http://localhost:64821/dart_sdk.js:39082:7) 在 main$ (http://localhost:64821/web_entrypoint.dart.lib.js:43:18) 在 http://localhost:64821/main_module.bootstrap.js:19:10 在 Array.forEach () 在 window.$dartRunMain (http://localhost:64821/main_module.bootstrap.js:18:32) 在:1:8 在 Object.runMain (http://localhost:64821/dwds/src/injected/client.js:8656:21) 在 http://localhost:64821/dwds/src/injected/client.js:22068:19 在 _wrapJsFunctionForAsync_closure.$protected (http://localhost:64821/dwds/src/injected/client.js:3830:15) 在 _wrapJsFunctionForAsync_closure.call$2 (http://localhost:64821/dwds/src/injected/client.js:10905:12) 在 Object._asyncStartSync (http://localhost:64821/dwds/src/injected/client.js:3794:20) 在 main__closure1.$call$body$main__closure (http://localhost:64821/dwds/src/injected/client.js:22080:16) 在 main__closure1.call$1 (http://localhost:64821/dwds/src/injected/client.js:22007:19) 在 StaticClosure._rootRunUnary [as call$2$5] (http://localhost:64821/dwds/src/injected/client.js:4153:16) 在 _CustomZone.runUnary$2$2 (http://localhost:64821/dwds/src/injected/client.js:12136:39) 在 _CustomZone.runUnaryGuarded$1$2 (http://localhost:64821/dwds/src/injected/client.js:12068:14) 在 _ControllerSubscription._sendData$1 (http://localhost:64821/dwds/src/injected/client.js:11697:19) 在 _DelayedData.perform$1 (http://localhost:64821/dwds/src/injected/client.js:11849:59) 在 _PendingEvents_schedule_closure.call$0 (http://localhost:64821/dwds/src/injected/client.js:11898:14) 在 Object._microtaskLoop (http://localhost:64821/dwds/src/injected/client.js:3990:24) 在 StaticClosure._startMicrotaskLoop (http://localhost:64821/dwds/src/injected/client.js:3996:11) 在 _AsyncRun__initializeScheduleImmediate_internalCallback.call$1 (http://localhost:64821/dwds/src/injected/client.js:10774:9) 在 invokeClosure (http://localhost:64821/dwds/src/injected/client.js:1250:26) 在突变观察者。 (http://localhost:64821/dwds/src/injected/client.js:1269:18)
【问题讨论】:
【参考方案1】:尝试替换:
<script src="https://www.gstatic.com/firebasejs/8.2.5/fire-messaging.js"></script>
与:
<script src="https://www.gstatic.com/firebasejs/8.4.1/firebase-messaging.js"></script>
我不确定 fire-messaging.js 是否真的存在
【讨论】:
以上是关于TypeError:无法读取未定义 Flutter 的属性“isSupported”的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Web和Firebase身份验证TypeError:无法读取未定义的属性'app'
如何使用自定义错误消息捕获“TypeError:无法读取未定义的属性(读取'0')”?