- SpringBoot 根据配置前缀绑定配置:@ConfigurationProperties
JiaHao汤
SpringBootspringboot后端javaspringboot
文章目录内部Bean配置绑定第三方Bean配置绑定@ConfigurationProperties是Spring在org.springframework.boot.context.properties包中提供的一个注解。它的作用是根据注解中配置的前缀对SpringBoot配置文件(即application.xxx)中前缀相同的配置进行属性绑定。对于@ConfigurationProperties注
- vue和django接口联调
变形金刚卖人寿保险还是汽车保险
前端javascriptvue.js
vue访问服务端接口配置跨域前端跨域打开vite.config.js,在和resolve同级的地方添加配置。proxy代表代理的意思"/api"是以/api开头的路径走这个配置target代表目标changeOrigin:true,是开启跨域请求rewrite是编辑路径。(path)=>path.replace(/^\/api/,"")是去掉/api这样一个路径进来就会被处理,如下:"/api/c
- Linux安装新版docker
鸣琴请剑
dockerlinux
环境:CentOS7dockerversion#查看docker版本,没有则是没装uname-r#查看内核版本,需>=3.10yumupdate-yyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2bash-completion#更新yum,安装工具yum-config-manager--add-repohttp://mirrors.ali
- spring boot整合swagger添加token
null-脑袋大
springbootjava
第一种:importio.swagger.annotations.Api;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders.ApiInfoBuilder;
- linux 设置固定内网ip
supermiketho
linuxtcp/ip服务器
设置内网固定Ip创建络配置文件:/etc/sysconfig/network-scripts/ifcfg-ens196(这个名字是根据实际来的)TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DE
- MyBatis 的核心配置文件是干什么的? 它的结构是怎样的? 哪些是必须配置的,哪些是可选的?
冰糖心书房
Mybatis源码系列mybatis
MyBatis的核心配置文件(通常命名为mybatis-config.xml)是MyBatis应用程序的入口点,它定义了MyBatis的全局配置信息。核心配置文件的作用:配置MyBatis的运行时行为:通过标签设置全局参数,控制MyBatis的各种行为,例如是否开启缓存、是否使用延迟加载、是否自动映射等。配置数据源和事务管理器:通过标签配置数据库连接信息和事务管理方式。注册类型别名:通过标签为Ja
- npm 怎么设置代理
阿里嘎多学长
npm前端node.js
在使用npm时,如果需要通过代理服务器进行网络连接,可以使用以下步骤来设置代理:设置HTTP代理:使用以下命令设置HTTP代理:npmconfigsetproxyhttp://:@:将、、和替换为您的代理服务器的用户名、密码、地址和端口号。设置HTTPS代理:如果需要通过HTTPS代理服务器,使用以下命令:npmconfigsethttps-proxyhttp://:@:设置代理环境变量:您也可以
- AI 智能体落地?GitHub 开源 Manus 完美的替代品!!!
大模型教程
人工智能开源大模型AI大模型大模型教程大模型学习Manus
今天早上看到外面都在说Manus。昨天还在研究自动化操作的今天告诉有商业化落地?说实话昨天刚刚找到了一个开源的自动化软件。该webbrowser环境是一个使用playwright库来浏览网页的简单环境。我们启动Chromium浏览器并导航到homepage所提供的RunnerConfig。也是一家中国公司开源的。因为不能使用Manus(没有邀请码),所以直接去他们的案例库拷贝一个结果,直接放到co
- 【Git】 fatal: detected dubious ownership in repository 解决方法
小段爱前端
远程仓库gitgithub
git操作错误提示:解决方法:方法一:输入gitconfig--global--addsafe.directoryC:/Users/21077/vue_shop,但是这只能解决当前的git仓库,其他的git仓库,都要这么做,并且gitconfig-l,会发现一大串的这些操作,具体没有尝试,参考别的博主的
- 【离线安装系列】离线环境下为Ubuntu16.04安装zsh(How to install zsh from source offline)
jaredyam
LinuxShell
准备Ubuntu16.04安装机任意公网机下载安装包按照以下顺序执行安装可完美避坑1.ncurses下载地址:https://ftp.gnu.org/pub/gnu/ncurses原因:依赖包安装:$tar-xzfncurses-*.tar.gz$cdncurses-*$./configure--prefix=/usrCXXFLAGS="-fPIC"CFLAGS="-fPIC"$make&&mak
- Git报错fatal: detected dubious ownership in repository at /**/**/**
ttz25
git
问题gitpull报错fatal:detecteddubiousownershipinrepositoryat'/home/xxx/xxToaddanexceptionforthisdirectory,call:gitconfig--global--addsafe.directoryxxx执行了gitconfig--global--addsafe.directoryxxx也没用解决发现是文件夹以及
- Nginx编译安装
寰宇001
下载、解压Nginxcd/usr/local/srcwgethttp://nginx.org/download/nginx-1.8.0.tar.gztar-zxvfnginx-1.8.0.tar.gz2.编译安装Nginxcd/usr/local/src/nginx-1.8.1配置编译参数./configure\–prefix=/usr/local/nginx\–with-http_realip_
- 升级JDK11 Maven依赖
IOT_player
JDK11后端mavenjavajdk11java11
本文涉及修改pom的内容无先后顺序无依赖关系。涉及修改的依赖:中新增1111...lombok升级至1.18.4后的版本,如1.18.22jacoco升级至0.8.2后的版本,推荐0.8.3maven-surefire-plugin升级至3.0.0-M1后的版本,如3.0.0-M5maven-compiler-plugin升级至3.8.0后的版本,如3.8.1,同时修改configurationr
- 关于std::vector<std::string>的操作
android framework
c++和ndk开发c++算法开发语言
知识点1std::vectorstd::string作为返回参数voidGetConfigState(std::vectorstd::string&vtTemp)2对于std::vectorstd::string取值操作std::vectorstd::string::iteratortheIterator;for(theIterator=vtTemp.begin();theIterator!=vt
- 一个基于LSTM的字符级文本生成模型的训练+使用(pytorch)
一只小铁柱
lstmpytorch人工智能
一、代码实现1.配置文件config.pyimporttorch#设备配置DEVICE=torch.device('cuda'iftorch.cuda.is_available()else'cpu')#超参数和配置SEQ_LENGTH=100#输入序列长度BATCH_SIZE=64#批大小EMBEDDING_DIM=256#嵌入层维度HIDDEN_SIZE=512#LSTM隐藏层大小NUM_LAY
- NodeJs中npm国内慢的问题解决
夏木炎
npm前端node.js
方法一:更改npm配置文件:$npmconfigsetregistryhttp://registry.npm.taobao.orgURL即为需要设置的镜像站点地址,如淘宝镜像:http://registry.npm.taobao.org方法二:你可以使用淘宝NPM镜像定制的cnpm(gzip压缩支持)命令行工具代替默认的npm:$npminstall-gcnpm--registry=https:/
- 在windows10系统上搭建npm仓库源
小妖666
npm前端node.jsverdaccio
安装Verdaccio:npminstall-gverdaccio启动verdaccioverdaccio打开config.yaml路径在第一行configfile-C:\Users\huyun\AppData\Roaming\verdaccio\config.yaml最下面添加一行listen:0.0.0.0:4873另外我们的国内的镜像源一般是使用淘宝镜像去下载东西的,那么可以把我们的镜像源的
- Ranger集成CDH6.3.1详细步骤
sunxunyong
hadoop
CDH-ranger基础环境:jdk:1.8maven:mvn-verisonApacheMaven3.9.4brewsearchbzip2brewinstallbzip2brewlistyuminstallgit-yyuminstall-ypython3yuminstall-ybzip2yum-yinstallfontconfig-develpip3installrequests下载ranger
- C++程序设计语言笔记——基本功能:源文件与程序
钺不言
C++笔记c++笔记经验分享
0用头文件表达接口、强调逻辑结构。我们以C语言为例,展示如何通过头文件组织模块化设计:示例场景:日志模块接口设计文件结构include/log.h//公共接口log_config.h//配置参数log_internal.h//内部实现细节(不对外暴露)src/log.c//具体实现1.公共接口头文件(log.h):定义用户可见的接口#ifndefLOG_H#defineLOG_H#include/
- msys2+mingw编译ffmpeg
星火撩猿
音视频集msys2ffmpeg
MinGW安装ffmpeg下载ffmpeg源码源码下载编译安装ffmpeg./configure--prefix=/usr/local/ffmpeg(生成makefile文件)make-j4(多进程并行编译节省编译时间)makeinstall(安装到指定目录)
- OpenHarmony Codec HDI codec_capabilities HCS配置解析
少年的云河月
视频编解码harmonyos
一、简介HCS(HDFConfigurationSource)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。本文主要讲解CodecHDI支持的编解码组件HCS配置文件,简单分析每一个key的意义和用途。二、编解码组件HCS配置编解码组件配置文件一般位于//vendor/{company}/{chiptype}/hdf_c
- 如何在c# 项目中使用redis
A_nanda
c#redis缓存
在C#中使用Redis通常通过StackExchange.Redis库实现,这是.NET中最流行的Redis客户端库。以下是详细的使用指南,包含基础操作、连接管理、常见数据结构和高级功能:1.安装与基础配置安装NuGet包Install-PackageStackExchange.Redis连接Redis服务器usingStackExchange.Redis;//创建连接配置varconfigura
- 用Lua脚本实现Redis原子操作
Cloud_.
luaredis开发语言
1.环境准备依赖:在pom.xml中添加SpringDataRedis:org.springframework.bootspring-boot-starter-data-redis配置RedisTemplate:@ConfigurationpublicclassRedisConfig{@BeanpublicRedisTemplateredisTemplate(RedisConnectionFact
- windows11 环境 paddleOCR 环境配置
一醉千秋
python+银河麒麟python开发语言
一、系统环境:操作系统:Windows11专业版显卡:RTX4080CUDA:cuda_12.6.2_560.94_windows.exe、cudnn-windows-x86_64-8.9.7.29_cuda12-archivepython:3.12.8二、配置过程1.设置python国内源pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua
- LLM填坑:训练自己的分词器-Tokenizer 2
微风❤水墨
LLM&AIGC&VLPLLMtokenizer
本文记录另外一个例子,例子中涉及如何手动配置config,实现与Huaggingface兼容。merges.txtmerges文件存放的是训练tokenizer阶段所得到的合并词表结果,就是tokenizer.json中,model.merges下的内容。tokenizer_config.json分词器的配置信息,定义了分词器的版本、额外添加的标记(tokens)、结构/代码和模型参数等信息,比如
- vue项目全局引入scss文件
马康鑫
vue.jsscss前端
在Vue项目中,可以通过以下步骤全局引用SCSS文件:1、首先,确保你的Vue项目已经安装了SCSS的相关依赖,可以使用npm或者yarn进行安装。例如,使用npm安装依赖的命令如下:npminstallnode-sasssass-loader--save-dev2、在Vue项目的根目录下,创建一个名为vue.config.js的文件(如果已经存在则跳过此步骤)。3、在vue.config.js文
- pnpm安装报错
魏时烟
工作日志npm前端node.js
mac安装pnpm成功,查看版本报错pnpm:commandnotfound执行命令//查看npm默认安装路径npmconfiggetprefix//1.新建一个全局安装的路径mkdir~/.npm-global//2.配置npm使用新的路径npmconfigsetprefix'~/.npm-global'//3.打开或者新建~/.profile,(vi~/.profile)加入下面一行expor
- npm --unsafe-perm 参数,解决权限错误,permission denied
你的微笑像拥抱
笔记
https://docs.npmjs.com/misc/config#unsafe-perm解决办法:添加–unsafe-perm参数,如#npminstallXXX--registry=https://registry.npm.taobao.org--unsafe-permnpm会有生命周期,某个包会有生命周期来执行一些东西,安全起见会自动降级导致没有权限执行一些操作,通过–unsafe-per
- 全局引用scss文件定义的变量
魏时烟
vue3+ts+scssscss前端css
在vite.config.ts文件中写如下代码css:{preprocessorOptions:{scss:{additionalData:`@use"@/assets/styles/index.scss";`,//这一句javascriptEnabled:true}}}在scss文件中定义变量$color:#000;在其他文件引用变量.text{color:index.$color;}
- 2.4 基于Vitest的单元测试基础设施搭建
北辰alk
单元测试
文章目录1.现代单元测试体系解析测试金字塔演进Vitest核心定位2.基础设施架构设计整体架构图3.环境配置全流程3.1基础环境搭建3.2配置文件`vitest.config.ts`3.3测试环境初始化4.测试用例编写规范4.1基础测试示例4.2Vue组件测试4.3异步逻辑测试5.Mock策略深度优化5.1文件级Mock5.2复杂场景Mock6.覆盖率与报告体系6.1配置参数优化6.2查看报告7.
- 如何用ruby来写hadoop的mapreduce并生成jar包
wudixiaotie
mapreduce
ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安
- java编程思想 -- 访问控制权限
百合不是茶
java访问控制权限单例模式
访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问
一:包访问权限;
自定义包:
package com.wj.control;
//包
public class Demo {
//定义一个无参的方法
public void DemoPackage(){
System.out.println("调用
- [生物与医学]请审慎食用小龙虾
comsci
生物
现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....
所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质
- org.apache.jasper.JasperException: Unable to compile class for JSP:
商人shang
maven2.2jdk1.8
环境: jdk1.8 maven tomcat7-maven-plugin 2.0
原因: tomcat7-maven-plugin 2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin 2.2就行,即
<plugin>
- 你的垃圾你处理掉了吗?GC
oloz
GC
前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别
- shiro 和 SESSSION
杨白白
shiro
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此
- 移动互联网终端 淘宝客如何实现盈利
小桔子
移動客戶端淘客淘寶App
2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛
- wordpress小工具制作
aichenglong
wordpress小工具
wordpress 使用侧边栏的小工具,很方便调整页面结构
小工具的制作过程
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php)
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变
<?php
class AWP_Post_Category extends WP_Wi
- JS微信分享
AILIKES
js
// 所有功能必须包含在 WeixinApi.ready 中进行
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
&nb
- 封装探讨
百合不是茶
JAVA面向对象 封装
//封装 属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用
例如 1:
//属性 将其设为私有
姓名 name 可以公开
- jquery radio/checkbox change事件不能触发的问题
bijian1013
JavaScriptjquery
我想让radio来控制当前我选择的是机动车还是特种车,如下所示:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><
- AngularJS中安全性措施
bijian1013
JavaScriptAngularJS安全性XSRFJSON漏洞
在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。
一.JSON漏洞
当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,
- [Maven学习笔记九]Maven发布web项目
bit1129
maven
基于Maven的web项目的标准项目结构
user-project
user-core
user-service
user-web
src
- 【Hive七】Hive用户自定义聚合函数(UDAF)
bit1129
hive
用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?
Double evaluate(Double a, Double b)
- 通过 nginx-lua 给 Nginx 增加 OAuth 支持
ronin47
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证:
&n
- 利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法
bsr1983
session
在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking
As noted in the &qu
- 《代码大全》表驱动法-Table Driven Approach-1
bylijinnan
java算法
关于Table Driven Approach的一篇非常好的文章:
http://www.codeproject.com/Articles/42732/Table-driven-Approach
package com.ljn.base;
import java.util.Random;
public class TableDriven {
public
- Sybase封锁原理
chicony
Sybase
昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。 无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的
- java异常处理机制
CrazyMizzz
java
java异常关键字有以下几个,分别为 try catch final throw throws
他们的定义分别为
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating
- hive 数据插入DML语法汇总
daizj
hiveDML数据插入
Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l
- 工厂设计模式
dcj3sjt126com
设计模式
使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。
Example #1 调用工厂方法(带参数)
<?phpclass Example{
- mysql字符串查找函数
dcj3sjt126com
mysql
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st
- jvm内存管理
easterfly
jvm
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行
- CentOS-6.3安装配置JDK-8
gengzg
centos
JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME
- 【转】关于web路径的获取方法
huangyc1210
Web路径
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项
- php里获取第一个中文首字母并排序
远去的渡口
数据结构PHP
很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:
Array
(
[0] => Array
(
[sid] => 2885842
[recetcstoredpay] =&g
- java内部类
hm4123660
java内部类匿名内部类成员内部类方法内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。
&nb
- Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten
zhb8015
maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。
maven pom:
<dependency>
<groupId>org.hibernate</groupId>
<ar
- Spark 性能相关参数配置详解-任务调度篇
Stark_Summer
sparkcachecpu任务调度yarn
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。
由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便
- css3滤镜
wangkeheng
htmlcss
经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。
html代码:
<a href='' class='icon'><img src='utv.jpg' /></a>
css代码:
.icon{-webkit-filter: graysc