关于引入CSS样式和js的问题,没有注入HEAD的情况下无法加载CSS

bug问题 · vamper · 于 13天前 发布 · 51 次阅读
<?php
$jsOptions = [
	# js config 1
	[
		'options' => [
			'position' =>  'POS_END',
		//	'condition'=> 'lt IE 9',
		],
		'js'	=>[
			'js/jquery.min.js',
			'js/jquery.qrcode.min.js',
			'js/slider.js',
			'js/tab.js',
		],
	],
];

# css config
$cssOptions = [
	# css config 1.
	[
		'css'	=>[
			'css/quan.css',
			'css/ttttt.css',
			'css/user.css',
		],
	],
];
\Yii::$service->page->asset->jsOptions 	= \yii\helpers\ArrayHelper::merge($jsOptions, \Yii::$service->page->asset->jsOptions);
\Yii::$service->page->asset->cssOptions = \yii\helpers\ArrayHelper::merge($cssOptions, \Yii::$service->page->asset->cssOptions);				
\Yii::$service->page->asset->register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="en">
<head>
       
</head>

以上代码可以看到在head处并没有加入

<?= Yii::$service->page->widget->render('base/head',$this); ?> 

测试网页页面没有正常加载css,仅加载了JS,只有加入了head这句话才加载css,正常情况只要添加了

\Yii::$service->page->asset->register($this);

就可以正常加载吗?为什么非要

<?= Yii::$service->page->widget->render('base/head',$this); ?> 
```才可以正常加载?

共收到 4 条回复
vamper#113天前 0 个赞

本人装了fecyo插件又关闭了插件,会不会是fecyo的配置覆盖导致?

Fecmall#213天前 0 个赞

1.应用关闭时候,应用的配置就不会加载

2.一个是注册初始化,一个是调用显示

注册初始化:\Yii::$service->page->asset->register($this);

调用显示:<?= Yii::$service->page->widget->render('base/head',$this); ?>

3.css 是头部加载,js在尾部加载,这样是为了更块的渲染页面

4.这个问题,但凡你花10分钟读一下源码,你就不会有这个问题

有了疑问,自己先去读源码,伸手就问题,有什么意思?不提倡这种贴!

源码就可以回答你的问题,多去读源码

vamper#313天前 0 个赞

老大啊,我也是看了http://www.fancyecommerce.com/2016/07/06/yii2-多模板路径优先级加载view方式下-js和css-的解决/ 这个帖子才迷惑的啊,这个帖子并没有说要启用调用显示,所以我肯定认为流程上到了register就完事了,这个是框架的流程问题,看源码看不出问题来的呀

Fecmall#413天前 0 个赞

@vamper #3楼

1.看源码肯定可以看出来,你压根就没去看,文档只是描述一个大概介绍,如果文档和代码那么严谨,直接把文档当代码那样运行完事。

2.你的思维:你认为完事了,认为肯定了,看什么源码,对不?

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics