config.js配置页面中的样式和图片路径
2017-06-24 15:50
204 查看
这个文章用在什么地方,我先说一下,上周啊,我接到一个任务。因为公司业务要对接不同的银行,例如在工行下颜色是红色的,在其他银行下默认为蓝色,所以在页面一致的情况下,保证页面中的按钮和ICON是可以配置的,这样秩序改动一个值【颜色或路径】,就能正常全部适配好了,其实这个业务很简单:
为什么要建两个config.js呢,一个是默认情况下配置信息,一个是定制版本的配置信息。
新建好以后,我们就要把他们引入到页面中去了,怎么引用呢,引用哪一个呢,好纠结啊…
首先我们先建index.html页面,
然后动态引入JavaScript【这里写链接内容】
看了这边篇文章,我决定采用document.writeln(),大家可以查一下和document.write()区别在哪里
但是到底引入哪一个config文件呢,我们需要判断它到底是哪一个银行,我们这里假设header里面就是银行的名字,好了,这样就好办了
indexOf() 判断字符串首次出现的位置
理清思路,开始撸代码啦
把代码放入页面中就完成任务啦,完整代码如下:
我们感觉config.js本来配置项就不多,必须在一个文件包含所有的配置项
不过这时候方法和上面的基本上是一样的,我就不详细说了,直接代码如下:
举一反三的情况下:我们可以怎么在react项目中来配置全局颜色呢,直接看代码:
**第一种方案:我们有新建两个config1.js和config2.js,代码分别类似如下:**
var config = { // 改变全局按钮颜色 btncolor: "red", // 配置优惠券和同意的Icon img1: "../images/icon_01.png", img2: "../images/icon_02.png", img3: "../images/icon_03.png" }
为什么要建两个config.js呢,一个是默认情况下配置信息,一个是定制版本的配置信息。
新建好以后,我们就要把他们引入到页面中去了,怎么引用呢,引用哪一个呢,好纠结啊…
首先我们先建index.html页面,
然后动态引入JavaScript【这里写链接内容】
看了这边篇文章,我决定采用document.writeln(),大家可以查一下和document.write()区别在哪里
但是到底引入哪一个config文件呢,我们需要判断它到底是哪一个银行,我们这里假设header里面就是银行的名字,好了,这样就好办了
indexOf() 判断字符串首次出现的位置
理清思路,开始撸代码啦
($("header").text().indexOf("工商银行") > -1) ? document.writeln("<script src=\"./js/config1.js\"><\/script>") : document.writeln("<script src=\"./js/config2.js\"><\/script>");
把代码放入页面中就完成任务啦,完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./js/jquery-2.1.1.min.js"></script>
<script>
($("header").text().indexOf("工商银行") > -1) ? document.writeln("<script src=\"./js/config1.js\"><\/script>") : document.writeln("<script src=\"./js/config2.js\"><\/script>");
</script>
</head>
<body>
<header> 工商银行 </header>
<div>
<a href="">我是按钮1</a>
<a href="">我是按钮2</a>
<a href="">我是按钮3</a>
<p> 我是按钮4 </p>
<button> 我是按钮5 </button>
<img class="img1">
</div>
<script>
$("header").text().indexOf("工商银行") > -1 ?
document.writeln("我是工行") : document.writeln("我不是工行");
console.log($("header").text());
console.log(config);
var btncolor = config.btncolor;
console.log(btncolor);
$("a,p,button").css("color", btncolor);
var img1 = config.img1;
console.log(img1);
$(".img1").attr('src', img1);
</script>
</body>
</html>
**第二种方法就是,只有一个文件 config.js**
我们感觉config.js本来配置项就不多,必须在一个文件包含所有的配置项
var config = { first: { // 改变全局按钮颜色 btncolor: "yellow", // 配置优惠券和同意的Icon img1: "../images/icon_01.png", img2: "../images/icon_02.png", img3: "../images/icon_03.png" }, second: { // 改变全局按钮颜色 btncolor: "red", // 配置优惠券和同意的Icon img1: "../images/icon_03.png", img2: "../images/icon_02.png", img3: "../images/icon_01.png" } }
不过这时候方法和上面的基本上是一样的,我就不详细说了,直接代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./js/jquery-2.1.1.min.js"></script> <script src="./js/config.js"></script> </head> <body> <header> 工1商银行 </header> <div> <a href="">我是按钮1</a> <a href="">我是按钮2</a> <a href="">我是按钮3</a> <p> 我是按钮4 </p> <button> 我是按钮5 </button> <img class="img1"> </div> <script> $("header").text().indexOf("工商银行") > -1 ? document.writeln("我是工行") : document.writeln("我不是工行"); var a = config.first, b = config.second, c = $("header").text().indexOf("工商银行") > -1; console.log($("header").text()); if (c) { console.log(a); var btncolor = a.btncolor; console.log(btncolor); $("a,p,button").css("color", btncolor); var img1 = a.img1; console.log(img1); $(".img1").attr('src', img1); } else { console.log(b); var btncolor = b.btncolor; console.log(btncolor); $("a,p,button").css("color", btncolor); var img1 = b.img1; console.log(img1); $(".img1").attr('src', img1); } </script> </body> </html>
举一反三的情况下:我们可以怎么在react项目中来配置全局颜色呢,直接看代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title></title> <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script> <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script> <script src="https://static.runoob.com/assets/react/browser.min.js"></script> <script src="./js/config2.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> var NoLink = React.createClass({ show: function(dd){ alert(dd) }, render: function() { var o = this; var message = [1,5,7,9,0]; console.log(config); var btncolor = config.btncolor; var sss = message.map(function(data){ return( <input type="button" value={data} onClick={o.show.bind(data,data)} style={{backgroundColor:btncolor}}/> ) }) return( <div> {sss} </div> ) } }); ReactDOM.render( <NoLink />, document.getElementById('example') ) </script> </body> </html>
相关文章推荐
- struts2使用action跳转后的页面路径如果是相对路径的话会出现css、js以及图片等无法加载问题
- spring mvc 页面访问图片或者js等静态文件路径出错问题
- 网站发布在另外一个网站下面配置伪静态之后图片样式和JS丢失
- ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!
- Ueditor上传图片时打开文件夹的延迟问题以及config.json中路径配置问题
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- Ueditor上传图片时打开文件夹的延迟问题以及config.json中路径配置问题
- React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)
- Nginx 安装及配置负载均衡https网站及转发后页面js、css等路径找不到问题解决
- 百度编辑器ueditor,服务器端config.json配置,上传文件图片视频的保存路径等
- webjs--获取上传图片的缓存路径展示在页面上
- nginx配置访问图片路径以及html静态页面的调取方法
- 通过struts.xml配置映射后的jsp引入外部css和js的路径问题及css中图片url路径问题
- JSP页面中JS,图片等相对路径引用问题
- 关于js设置标签样式来显示图片背景无效的解决方案
- js获取上传图片全路径,支持ie,firefox
- 避免修改Web.config的appSettings配置时导致的所有页面重编译
- js 获取上传图片 全路径,支持ie,firefox
- asp.net出错或404错误(找不到页面)自动跳转 webconfig配置方法
- 温故而知新,WebConfig数据库配置及页面的调用