Flutter Web修改MaterialApp的title后浏览器标签页仍显示旧标题
Flutter Web修改MaterialApp的title后浏览器标签不生效的解决方法
常见原因及修复方案
- 原因1:浏览器本地缓存了旧的页面资源
解决:按Ctrl + F5(Windows/Linux)或Cmd + Shift + R(Mac)硬刷新页面,或者清空浏览器缓存后重新访问。 - 原因2:
web/index.html文件中硬编码了初始标题
Flutter Web初始加载阶段还未初始化完成时,会直接显示web/index.html里<title>标签的内容,需要手动修改该文件内的标题为目标值:
找到项目根目录下web文件夹内的index.html,修改对应代码:<title>New title</title> - 原因3:全局标题被更高优先级的配置覆盖
MaterialApp的onGenerateTitle属性、页面内的Title组件、SystemChrome.setApplicationSwitcherDescription方法的优先级都高于MaterialApp的title属性,按如下顺序排查覆盖逻辑:- 检查MaterialApp是否设置了
onGenerateTitle返回旧标题 - 检查首页NavScreen或者父级组件是否嵌套了
Title组件设置了旧标题 - 检查全局或页面代码中是否存在调用
SystemChrome.setApplicationSwitcherDescription方法修改标题的逻辑
- 检查MaterialApp是否设置了
- 原因4:title属性末尾多余空格
你当前代码里title值'New title '末尾带了空格,如果新旧标题仅差末尾空格也会看起来没更新,去掉多余空格即可。
内容的提问来源于stack exchange,提问作者DAni M
相关产品推荐
相关产品推荐

