Yii2 加载css、js 载静态资源的方法
应用场景
Yii2提供了AppAsset类管理静态资源,在使用Yii2布局模板时,如果想在某个页面内部写一段js并且在页面底部,如果直接使用script标签是不可以的。
使用AppAsset类管理静态资源
打开assetsAppAsset.php,定义addJs(),addCss()分别用于在静态页面引入外部js、css文件
1、修改AppAsset.php文件代码
namespacebackend\assets; useyii\web\AssetBundle; /** *@authorQiangXue *@since2.0 */ classAppAssetextendsAssetBundle { public$basePath="@webroot"; public$baseUrl="@web"; //默认自动加载样式 public$css=[ "css/site.css", ]; //默认自动加载js public$js=[ ]; //依赖关系管理 public$depends=[ "yii\web\YiiAsset", "yii\bootstrap\BootstrapAsset", ]; //定义按需加载JS方法,注意加载顺序在最后 publicstaticfunctionaddJs($view,$jsfile){ $view->registerJsFile( $jsfile, [ AppAsset::className(), "depends"=>"backend\assets\AppAsset" ] ); } //定义按需加载css方法,注意加载顺序在最后 publicstaticfunctionaddCss($view,$cssfile){ $view->registerCssFile( $cssfile, [ AppAsset::className(), "depends"=>"backend\assets\AppAsset" ] ); } }
2、在静态页面调用AppAsset.php
request->baseUrl."/js/a.js"); AppAsset::addCss($this,Yii::$app->request->baseUrl."/css/b.css"); ?>
在网站页面底部加载javascript代码
网页内部的js文件或代码,根据页面加载顺序,避免执行js时间过程导致页面空白,导致用户体验不好问题。一般放置在网页底部