当前位置:  编程技术>WEB前端
本页文章导读:
    ▪jQuery attributes(上)      jQuery attributes提供了文档节点的属性操作方法。为了更好的理解,我们先解决jQuery core中的access参数设置函数。 jQuery.accessjQuery.access是一个专用于参数设置以及读取的方法。在jQuery链式操作.........
    ▪[ckeditor系列]CKEditor 3.6 入门      第一步:载入 CKEditorhttp://ckeditor.com/download 下载ckeditor的最新版本(我下了个5月9号发布的3.6),解压后将 ckeditor 文件夹复制到web工程的根目录下。在要使用CKEditor的页面<head>块中插入.........
    ▪windows 2008 server 实现 IIS 虚拟目录共享      设备: Server A : 192.168.10.4    Server B : 192.168.10.5  需求: Server A 和 Server B 作为两台 web , 采用双机的形式实现负载均衡,现在 Server A 每天接收数据到 web_app 目录下,Server B 利用.........

[1]jQuery attributes(上)
    来源:    发布时间: 2013-11-06

jQuery attributes提供了文档节点的属性操作方法。

为了更好的理解,我们先解决jQuery core中的access参数设置函数。

 

jQuery.access

jQuery.access是一个专用于参数设置以及读取的方法。

在jQuery链式操作中我们对BigInteger的值获取是通过方法val来获取的,很显然此时val后面不能再链式操作了。所以:

如果要读取参数值,那么这个操作就不能链式操作。

/*************************
* elems: 接受操作的元素组
* fn: 设置或读取函数
* key: 要设置的属性
* value: 要设置的值,也可以是函数
* chainable: 是否可以链式操作,即是读还是写操作
* emptyGet: 读取如果为空用什么表示
* raw: value能否直接传给fn,如果的确就是想将属性设置成函数value,那么要把这个值设成true
*/
jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
var i = 0,
length = elems.length,
//key是否为空
bulk = key == null;

// 设置许多属性
if ( jQuery.type( key ) === "object" ) {
chainable = true;
for ( i in key ) {
//迭代执行设置一个值
jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
}

// 只设置一个值
} else if ( value !== undefined ) {
chainable = true;

//如果value不是函数
if ( !jQuery.isFunction( value ) ) {
raw = true;
}

//如果key为空
if ( bulk ) {
// 如果raw为true,即value不是函数
if ( raw ) {
//执行fn,其this为elems,参数为value
fn.call( elems, value );
fn = null;

// 如果value是函数
} else {
//用bulk保存fn
bulk = fn;
//将fn变成特定形式
fn = function( elem, key, value ) {
return bulk.call( jQuery( elem ), value );
};
}
}

//如果fn存在
if ( fn ) {
//遍历所有elems
for ( ; i < length; i++ ) {
//value是函数则运行fn(elem, key, value.call(elem, i, fn(elem, key)))
//value非函数则运行fn(elem, key, value)
fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
}
}
}

//如果是可链式操作的则返回elems
return chainable ?
elems :

// 否则则是读取操作
bulk ?
fn.call( elems ) :
// 否则如果长度不为0,则返回fn( elems[0], key ),否则返回空
length ? fn( elems[0], key ) : emptyGet;
}

jQuery官方文档没有该函数,应该说这是jQuery的一个内部工具。主要是为了实现jQuery中设置与读取复用性逻辑以及其内循环的,也就是为了节省写代码而已。

 

jQuery.fn.attr()

fn也就是jQuery实例对象的方法集。

fn中的方法attr也就是我们常用的attr方法。

如获取em标签的title属性:

var title = $("em").attr("title");

那么这个函数式怎么实现的呢?

jQuery.fn.attr = function( name, value ) {
return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
};

当参数长度为0或只为1时,则是读取操作,不能链式操作。

而这里用的设置函数是jQuery.attr,即实际运行时会运行jQuery.attr(elem, name, value)。

那么jQuery.attr是如何实现的呢?

/***************************
* elem: 要操作的元素
* name: 元素的属性名
* value: 要改变的值
*/
jQuery.attr = function( elem, name, value ) {
var ret, hooks, notxml,
nType = elem.nodeType;

// 不处理text,comment,attribute节点
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
return;
}

// 如果属性不支持则使用jQuery.prop
if ( typeof elem.getAttribute === "undefined" ) {
return jQuery.prop( elem, name, value );
}

//是否不是XML
notxml = nType !== 1 || !jQuery.isXMLDoc( elem );

// 如果不是XML
if ( notxml ) {
//
    
[2][ckeditor系列]CKEditor 3.6 入门
    来源:    发布时间: 2013-11-06

第一步:载入 CKEditor

http://ckeditor.com/download 下载ckeditor的最新版本(我下了个5月9号发布的3.6),解压后将 ckeditor 文件夹复制到web工程的根目录下。在要使用CKEditor的页面<head>块中插入以下代码,将其引入:

 

<head>
...
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
</head>

第二部:创建 CKEditor 实例

 

首先,在页面中插入一个<textarea>节点:

<textarea id="editor1" name="editor1">&lt;p&gt;Initial value.&lt;/p&gt;</textarea>

或者在 window.onload 中:

<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'editor1' );
};
</script>

第三步:更改config.js

config.js是 CKEditor 的主配置文件,更改config.js来定制自己的 CKEditor 样式:

/*
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.language = 'zh-cn'; // 配置语言
config.uiColor = '#FFF'; // 背景颜色
config.width = 'auto'; // 宽度
config.height = '300px'; // 高度
config.skin = 'office2003';// 界面v2,kama,office2003
config.toolbar = 'MyToolbar';// 工具栏风格(基础'Basic'、全能'Full'、自定义)plugins/toolbar/plugin.js
config.toolbarCanCollapse = false;// 工具栏是否可以被收缩
config.resize_enabled = false;// 取消 “拖拽以改变尺寸”功能 plugins/resize/plugin.js

//自定义的工具栏
config.toolbar_MyToolbar =
[
['Source','-','Save','Preview','Print'],
['Cut','Copy','Paste','PasteText','PasteFromWord','-','Scayt'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
'/',
['Styles','Format'],
['Bold','Italic','Strike'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['Link','Unlink','Anchor'],
['Maximize','-','About']
];
};

第四步:提交编辑器内容

 

可以将 CKEditor 实例看作一个<textarea>处理,在表单提交时, CKEditor 实例中的内容被提交到服务器,可以通过<textarea> 的名称获得其内容。

 

如果需要在客户端获得 CKEditor 实例的内容,可以通过调用 CKEditor API,在表单提交前对其进行处理,如下:


<script type="text/javascript">
var editor_data = CKEDITOR.instances.editor1.getData();
</script>

一个完整的例子:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
    
[3]windows 2008 server 实现 IIS 虚拟目录共享
    来源: 互联网  发布时间: 2013-11-06

设备: Server A : 192.168.10.4    Server B : 192.168.10.5 

需求: Server A 和 Server B 作为两台 web , 采用双机的形式实现负载均衡,现在 Server A 每天接收数据到 web_app 目录下,Server B 利用网络共享,采用虚拟目录的形式共享 A 机器的 web_app 目录,以此实现两台 web 都能对外提供访问

步骤:

         1. 在两台 server 中创建相同的帐号,并设置相同的密码,这里我们假设帐号为 userapp , 密码为:123456

         2. 开启Server A 上 web_app 的网络共享,并将读写权限赋予新建帐号 userapp  (右键文件夹 web_app -- 属性 -- 共享 -- 在弹出的共享文件窗口的下拉框中选择 userapp 这个账户,并赋予读写权限,点击添加, --  确定)

         3. 在 Server B 机器的 IIS 网站程序池中,右键选择所要添加虚拟目录的网站名,选择“添加虚拟目录”, 、

此时添加一个别名,病将物理路径填为 Server A 共享文件夹的路径

然后选择 连接为 : 弹出连接位窗口,选择特定用户 , 此时填入我们刚才添加的 userapp 账户, 输入密码,点击确定。

最后我们可以在第一张插图最下面,点击一下测试设置,一般情况下,显示成功,则说明已经配置好了虚拟目录,这样两个站点就可以实现相同的访问情况了。

作者:fairplay_li 发表于2013-1-20 21:35:21 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3