脚本

我的模块加载系统 v22

落爺英雄遲暮 提交于 2020-04-01 06:15:43
时隔差不多两个月,积累了许多改进,升级到v22。主要改进点如下: 进行瘦身,移除本地储存 IE6789的HTML5新标签支持列表,添加一个 m标签 loadJS内容方法,在动态插入script节点,发现最新的firefox Nightly做了些改动,如果head还没有解析完就插入节点,那么新script会触发onerror事件。补救措施,针对firefox使用html.insertBefore(node, head)。chrome不支持head.insertBefore(node, null),第二参数必须是节点,因此firefox外浏览器统一使用 head.insertBefore(node, head.firstChild)。 getCurrentScript方法进行增强,现在支持对chrome取正在解析的节点,详见源码。如此一来,除safari外,都能立即确认模块ID与script节点的对应关系。 修正parseURL转"mass.draggable"为url出错的BUG。 升级$.log,让它支持更古老的opera。 升级$.error,对异常进行包装,防止中文乱码。 现在详解一下getCurrentScript引入的新hack,利用e.stack截取正在解析的节点的src,从而得到节点。首先随便搞个错误,比如a.b.c()。在opera12的控制台下,我们通过try

给cas自定义login界面

喜你入骨 提交于 2020-04-01 00:29:55
2. 修改jsp登录页面 离线文件准备好后,就可以对CAS的jsp文件下手了。不过这里强烈建议不要在原有的文件上进行修改,最好建立一份新的theme。具体办法如下: (1)停掉Tomcat服务,进入“%TOMCAT_HOME%\webapps\cas\WEB-INF\view\jsp”文件夹,把default文件夹复制一份在本目录下,取名“custom”。 (2)进入“%TOMCAT_HOME%\webapps\cas\themes”文件夹,将default文件夹复制一份在本目录下,取名“custom”。 (3)进入“%TOMCAT_HOME%\webapps\cas\WEB-INF\classes”文件夹,将“default_views.properties”文件复制一份并重新命名为“custom_views.properties”。 (4)将离线登录页面中做好的“cas.css”文件拷贝到新建的“%TOMCAT_HOME%\webapps\cas\themes\custom”文件夹;将样式文件中用到的图片拷贝到“%TOMCAT_HOME%\webapps\cas\images”文件夹。(注意:css文件中引用图片的相对路径不要搞错。) (5)接下来是修改“%TOMCAT_HOME%\webapps\cas\WEB-INF\view\jsp\custom\ui

深入浅出让你理解跨域与SSO单点登录原理与技术

Deadly 提交于 2020-03-31 11:12:08
一:SSO体系结构 SSO ​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 体系结构 ​ 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--token;用户再访问别的应用的时候就会将这个token带上,作为自己认证的凭据,应用系统接受到请求之后会把token送到认证系统进行校验,检查token的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了 。 Token(令牌) token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token并将此token返回给客户端,客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。 以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。 简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名

Shell 逐行读取单个文件或者多个文件内容

限于喜欢 提交于 2020-03-31 01:16:14
[root@zt94886 ~]# less 1.txt asdc sadca asdc 方式1:while循环逐行读取文件内容 #!/bin/bash cat ./1.txt | while read line; do echo $line done 方式2:while循环逐行读取文件内容 #!/bin/bash while read LINE; do echo $line done < ./1.txt 执行结果: [root@zt94886 ~]# sh 1.sh asdc sadca asdc 方式3:for循环批量读取多个文件内容: [root@zt94886 /script/day/var]# ls 1.txt 2.txt 3.txt [root@zt94886 /script/day/var]# pwd /script/day/var [root@zt94886 ~]# less /script/day/var/1.txt asdcasd asdcasdc asdcasdc asdcasdc asdcasdc asdcasdc asdcasdc [root@zt94886 ~]# less /script/day/var/2.txt 12123 123123 123123 [root@zt94886 ~]# less /script/day/var/3.txt asdc

让IE支持Css3属性(圆角、阴影、渐变)

☆樱花仙子☆ 提交于 2020-03-30 18:10:08
>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年11月20日 10:35:10 星期五 http://fanshuyao.iteye.com/ 项目下载地址及Demo:http://css3pie.com/ 相关文档:http://css3pie.com/documentation/​ 相关文章:http://www.zhangxinxu.com/wordpress/?p=967​ css3pie有三种处理方式,一种是使用htc文件,一种是使用js文件,一种是针对php使用php加载htc文件的。 第一种需要加上Content-type,但有些服务器默认不支持,还需要修改服务器的配置文件,好像挺麻烦的。 第二种最好,只是使用js(推荐使用) 使用js的优势: Advantages of the JS version Since it is a normal .js file, PIE.js does not suffer from some of the more annoying limitations of the PIE.htc behavior: You can load PIE.js from a different domain than the HTML page. You don't have to worry about your

Node.js学习笔记3(快速入门)

余生颓废 提交于 2020-03-30 04:16:02
一.开始使用Node.js编程 1.hello world 好了,让我们开始实现第一个 Node.js 程序吧。打开你常用的文本编辑器,在其中输入: console.log('Hello World'); 将文件保存为 helloworld.js,打开终端,进入 helloworld.js 所在的目录,执行以下命令: node helloworld.js 如果一切正常,你将会在终端中看到输出 Hello World。console 是 Node.js 提供的控制台对象,其中包含了向标准输出写 入的操作,如 console.log、console.error 等。console.log 是我们最常用的输出 指令,它和 C 语言中的 printf 的功能类似,也可以接受任意多个参数,支持 %d、%s 变 量引用,例如: //consolelog.js console.log('%s: %d', 'Hello', 25) 2.Node.js命令行工具 输入 node --help 可以看到详细的帮助信息。 其中显示了 node 的用法,运行 Node.js 程序的基本方法就是执行 node script.js, 其中 script.js是脚本的文件名。 除了直接运行脚本文件外,node --help 显示的使用方法中说明了另一种输出 Hello World 的方式: $ node -e

jquery.tmpl 用法(附上详细案例)

吃可爱长大的小学妹 提交于 2020-03-30 02:33:31
js的模板引擎就和服务端的差不多,都是更好更快的拼接html用于显示,我参考了文章:http://www.cnblogs.com/zhuzhiyuan/p/3510175.html tmpl常用标签 ${} , {{each}} , {{if}} , {{else}} , {{html}} 不常用标签 {{=}} , {{tmpl}} and {{wrap}} . 1. ${} 等同与 {{=}} 是输出变量 ${} 里面还可以放表达式 (使用 {{=}} 的时候=和变量之间一定要有空格,否则无效,即为: {{= 变量}} ) <div id="div_demo"> </div> <script id="demo" type="text/x-jquery-tmpl"> <div >   <span>${ID}</span>   <span style="margin-left:10px;">{{= ID}}</span> </div> </script> <script type="text/javascript">   var users = [{ ID: '1111'}];   $("#demo").tmpl(users).appendTo('#div_demo'); </script> 2. {{each}} 提供循环逻辑,$value访问迭代变量 也可以自定义迭代变量(i

JAVASCRIPT 完美拖拽类

天涯浪子 提交于 2020-03-30 02:24:13
拖拽是网页中经常用到的控件,因此封装了一个推拽类。 查看演示 <script type="text/javascript"> /* new Dragdrop({ * target 拖拽元素 HTMLElemnt 必选 * bridge 指定鼠标按下哪个元素时开始拖拽,实现模态对话框时用到 * dragX true/false false水平方向不可拖拽 (true)默认 * dragY true/false false垂直方向不可拖拽 (true)默认 * area [minX,maxX,minY,maxY] 指定拖拽范围 默认任意拖动 * callback 移动过程中的回调函数 * }); */ function dragDrop(option){ this.target=option.target; this.dragX=option.dragX!=false; this.dragY=option.dragY!=false; this.disX=0; this.disY=0; this.bridge =option.bridge; this.area=option.area; this.callback=option.callback; this.target.className="drag"; var _this=this; this.bridge?this.brideg

JS跳转整理

房东的猫 提交于 2020-03-30 00:03:33
js方式的页面跳转 1.window.location.href方式 <script language="javascript" type="text/javascript"> window.location.href="target.aspx"; </script> 2.window.navigate方式跳转 <script language="javascript"> window.navigate("target.aspx"); </script> 3.window.loction.replace方式实现页面跳转,注意跟第一种方式的区别 <script language="javascript"> window.location.replace("target.aspx"); </script> 有3个jsp页面(1.aspx, 2.aspx, 3.aspx),进系统默认的是1.aspx,当我进入2.aspx的时候, 2.aspx里面用window.location.replace("3.aspx"); 与用window.location.href ("3.aspx"); 从用户界面来看是没有什么区别的,但是当3.aspx页面有一个"返回"按钮,调用window.history.go(-1); wondow.history.back();方法的时候,一点这个返回按钮就要返回2

Ext树形结构

北城余情 提交于 2020-03-29 17:18:14
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>tree</title> <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> <script type="text/javascript" src="Ext/ext-base.js"></script> <script type="text/javascript" src="Ext/ext-all.js"></script> <script type="text/javascript"> Ext.onReady(function(){ //树控件由Ext.tree.TreePanel类定义,控件名称为TreePanel,TreePanel类继承自Panel面板 var tree = new Ext.tree.TreePanel({ el:'tree'//这里的参数‘tree’表示渲染的DOM的id }); var root = new Ext.tree.TreeNode({text:'我是根'}); //用setRootNode()方法把root放到tree里 tree.setRootNode(root);