为啥我的 react 应用在 html 的正文中没有出现脚本标签?
Posted
技术标签:
【中文标题】为啥我的 react 应用在 html 的正文中没有出现脚本标签?【英文标题】:Why my react app appeared no script tag in the body of the html?为什么我的 react 应用在 html 的正文中没有出现脚本标签? 【发布时间】:2021-04-14 12:11:15 【问题描述】:我正在开发一个 react 应用程序,我遇到了一个错误,即当用户登录时,应用程序会将用户推送到仪表板,但仪表板没有显示任何内容,即使它在 jsx 上有 h1 标签(但除仪表板外,其他页面运行良好)。仪表板的 html 显示“您需要启用 javascript 才能运行此应用程序”。 .任何人都可以帮忙吗?在此先感谢,祝您有美好的一天:)
仪表板代码:
export class Dashboard extends Component
render()
return (
<h1>
hello
</h1>
)
仪表板的html:
【问题讨论】:
这没什么。仅当用户禁用了 javascript 时,才会显示该标签(对人类可见)。就您的问题而言,这是一个红鲱鱼。如果没有看到您如何将仪表板呈现到您的页面中,就无法判断为什么您的页面是空的。 【参考方案1】:为了用户体验,它呈现通知用户该网站需要 JavaScript(他们可能手动禁用它)并且他们不应该等待网站出现;和/或清除网站没有损坏(由于错误或其他原因)的混乱
【讨论】:
【参考方案2】:如果在浏览器上禁用了 JavaScript 的用户访问页面,<noscript>
标记用于向他们显示消息。否则,它仍然是隐藏的。通常这用于通知用户网页需要 JavaScript 才能运行。 Create React App 默认将此实现到 public/index.html
文件中。
noscript documentation from MDN 声明:
HTML 元素定义要插入的 HTML 部分 如果页面上的脚本类型不受支持或者脚本是 目前在浏览器中关闭。
您可以查看支持此功能的all the browsers,但是,在撰写本文时,所有相关主要浏览器基本上都支持它。 IE 从版本 11 开始支持此功能。
【讨论】:
以上是关于为啥我的 react 应用在 html 的正文中没有出现脚本标签?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Outlook 2010 会破坏我的 HTML 电子邮件正文?
为啥 volatile 在多线程 C 或 C++ 编程中没有用?