扫码关注官方订阅号
当加载一个不同css和js时,怎么替换当前的css和js 后退是又怎么替换回原来页面的css,js?
认证高级PHP讲师
你可以出于减小初始载入流量的考虑,在导航时动态添加 CSS 和 JS, 然而不建议动态删除 CSS 或 JS.
可以考虑使用前端路由框架,执行到给定路由时响应 hashchange 或者 popstate 事件,并且执行对应处理函数。一些 AMD 模块加载器支持异步 require 以动态添加 JavaScript.
hashchange
popstate
伪代码可能是这样的:
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, 我的观点是在导航到特定页面时为根元素添加,移除或者改变一个专一性的类。
以上纯属个人观点,实际使用还是需要看具体项目。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你可以出于减小初始载入流量的考虑,在导航时动态添加 CSS 和 JS, 然而不建议动态删除 CSS 或 JS.
可以考虑使用前端路由框架,执行到给定路由时响应
hashchange或者popstate事件,并且执行对应处理函数。一些 AMD 模块加载器支持异步 require 以动态添加 JavaScript.伪代码可能是这样的:
其中模块内部是模块定义,它们只在首次加载时被执行一次。而在路由回调中的 require 回调函数,则在每次导航到相应路由时被执行。
至于动态 CSS, 我的观点是在导航到特定页面时为根元素添加,移除或者改变一个专一性的类。
以上纯属个人观点,实际使用还是需要看具体项目。