[Yii2] Yii2单独加载CSS和JS

2024-08-27 00:48
文章标签 加载 css js frontend 单独 yii2

本文主要是介绍[Yii2] Yii2单独加载CSS和JS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Yii2 使用用AssetBundle来管理资源,这个暂且不表。
上面的方法通常是在layouts文件中进行注册,这将无法处理需要单独加载的CSS,JS样式。

单独使用CSS:

$cssString = ".main{display:block;}";  
$this->registerCss($cssString); 

单独使用js:

<?php $this->beginBlock('test') ?>  function hello(){console.log('hello');} 
<?php $this->endBlock() ?>  
<?php $this->registerJs($this->blocks['test'], \yii\web\View::POS_END); ?>  

或使用类似上面css的方法:

<?php
$js = 'console.log('hello')';
$this->registerJs($js);
?>

但是上面的方法仍然面临较大的局限性,在多数情况下单独引入文件无疑是更加合适的方式:

//注册资源包
AppAsset::register($this);$this->registerCssFile('@web/style/style.css',['depends'=>['backend\assets\AppAsset']]);  
$this->registerCssFile('@web/style/style.css');$this->registerJsFile('@web/script/jquery.js',['depends'=>['backend\assets\AppAsset']]);
$this->registerJsFile('@web/script/jquery.js'); //添加POSITION定义 文件的出现位置
$this->registerJsFile('@web/script/jquery.js',['depends'=>['backend\assets\AppAsset'],'position'=>$this::POS_HEAD]);
/*** @event Event an event that is triggered by [[beginBody()]].*/const EVENT_BEGIN_BODY = 'beginBody';/*** @event Event an event that is triggered by [[endBody()]].*/const EVENT_END_BODY = 'endBody';/*** The location of registered JavaScript code block or files.* This means the location is in the head section.*/const POS_HEAD = 1;/*** The location of registered JavaScript code block or files.* This means the location is at the beginning of the body section.*/const POS_BEGIN = 2;/*** The location of registered JavaScript code block or files.* This means the location is at the end of the body section.*/const POS_END = 3;/*** The location of registered JavaScript code block.* This means the JavaScript code block will be enclosed within `jQuery(document).ready()`.*/const POS_READY = 4;/*** The location of registered JavaScript code block.* This means the JavaScript code block will be enclosed within `jQuery(window).load()`.*/const POS_LOAD = 5;/*** This is internally used as the placeholder for receiving the content registered for the head section.*/const PH_HEAD = '<![CDATA[YII-BLOCK-HEAD]]>';/*** This is internally used as the placeholder for receiving the content registered for the beginning of the body section.*/const PH_BODY_BEGIN = '<![CDATA[YII-BLOCK-BODY-BEGIN]]>';/*** This is internally used as the placeholder for receiving the content registered for the end of the body section.*/const PH_BODY_END = '<![CDATA[YII-BLOCK-BODY-END]]>';

这篇关于[Yii2] Yii2单独加载CSS和JS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110164

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

SpringBoot加载profile全面解析

《SpringBoot加载profile全面解析》SpringBoot的Profile机制通过多配置文件和注解实现环境隔离,支持开发、测试、生产等不同环境的灵活配置切换,无需修改代码,关键点包括配置文... 目录题目详细答案什么是 Profile配置 Profile使用application-{profil

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直