你可以出于减小初始载入流量的考虑,在导航时动态添加 CSS 和 JS, 然而不建议动态删除 CSS 或 JS. 可以考虑使用前端路由框架,执行到给定路由时响应 hashchange 或者 popstate 事件,并且执行对应处理函数。一些 AMD 模块加载器支持异步 require 以动态添加 JavaScript. 伪代码可能是这样的: Route("/Items/{Index}", function (index) { require(["./syntaxhighlighter", "./markdown", "./style.css!css"], function (syntaxHighlighter, md) { // Do something // ... // Change title document.title="Wanted title"; // Change root element class $("html").prop("className", "item-page app-page"); }); }); 其中模块内部是模块定义,它们只在首次加载时被执行一次。而在路由回调中的 require 回调函数,则在每次导航到相应路由时被执行。 至于动态 CSS, 我的观点是在导航到特定页面时为根元素添加,移除或者改变一个专一性的类。 以上纯属个人观点,实际使用还是需要看具体项目。
你可以出于减小初始载入流量的考虑,在导航时动态添加 CSS 和 JS, 然而不建议动态删除 CSS 或 JS.
可以考虑使用前端路由框架,执行到给定路由时响应
hashchange
或者popstate
事件,并且执行对应处理函数。一些 AMD 模块加载器支持异步 require 以动态添加 JavaScript.伪代码可能是这样的:
其中模块内部是模块定义,它们只在首次加载时被执行一次。而在路由回调中的 require 回调函数,则在每次导航到相应路由时被执行。
至于动态 CSS, 我的观点是在导航到特定页面时为根元素添加,移除或者改变一个专一性的类。
以上纯属个人观点,实际使用还是需要看具体项目。