基本介绍
showModalDialog()
创建一个显示HTML内容的模态对话框。

showModelessDialog()
用来创建一个显示HTML内容的非模态对话框。

使用方法
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])

参数说明

参数 类型 说明
sURL 字符串 必选参数,用来指定对话框要显示的文档的URL。
vArguments 变体 可选参数,用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures 字符串 用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。

sFeatures可的可选参数如下:
dialogHeight
对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。

dialogWidth
对话框宽度。

dialogLeft
离屏幕左的距离。

dialogTop
离屏幕上的距离。

center
{yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。

help
{yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。

resizable
{yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。

status
{yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。

scroll
{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。

示例:

window.showModalDialog(‘b.html’, counter,’DialogHeight:100px;DialogWidth:100px;’);

打开一个高度为100px、宽度为100px的对话框,并将本页面的一个id为counter的对象的句柄到b.html页面。

向子窗口传递多个参数

parent.htm

son.htm

从对话框接收父窗口返回值的时候,按如下方式判断一下:

var retValue = “”;
retValue = showModalDialog(….);

if(typeof(retValue) != “undefined”){
rdShowMessageDialog(retValue);
}

参考链接:
http://www.blogjava.net/woxingwosu/archive/2007/07/07/128728.html

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/11 05:11

在页面还没有ready的时候就调用了htmlObject的appendChild或者innerHTML操作,这样会在IE上弹出一个对话框:“Internet Explorer无法打开站点,已终止操作”

解决方法有两个:

(1)在appendChild或者innerHTML操作处判断document.readyState==”complete”, 若为否,则setTimeout若干秒之后重新作这个操作。

但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.

(2)在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写document.write方法

使用ajax时发生错误的解决方案:在appendChild或者innerHTML操作处判断document.readyState==”complete”, 若为否,则setTimeout若干秒之后重新作这个操作。

如果要加载独立的脚步文件 可靠的做法是在_onload事件中调用,兼容firefox的一种写法如下:

以下为引用的内容:

<script type=”text/javascript”>

functi_on init(arg){

//do sth.

}

if(typeof(document.body._onload)==”undefined”)

window._onload=to_do(arg);

else

document.body._onload=new Functi_on(‘to_do(arg);’);

</script>

from:http://www.liuhaier.com/jiaocheng/jieda/net/200801/15457.html

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 11:11

tmadmin 用来查看TUXEDO的运行情况。在tmadmin命令界面中可以使用如下命令:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

psr
为printserver命令的简写,监控服务器运行情况,查看处理的请求数目、忙闲程度。

参数如下:
-m machine LMID为 machine的所有服务进程
-g groupname 组名为groupname的所有服务进程
-i srvid SRVID为srvid的服务进程
-q qaddress 消息队列为qaddress的所有SERVERS查看server的信息

> psr -i 15058
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
——— ———- ——– — —— ——— —————
RK016 00060.15058 CHGGRP_+ 15058 0 0 ( IDLE )

-i srvid SRVID为srvid的服务进程
#接续日志记录
RK016 SRVGRP=CHGGRP_SXBOSS SRVID=15058 CONV=N MIN=1 MAX=1
CLOPT=”-A -r -t -o /boss18/run/log/RK016.log”

结果说明:
列号 描述
1. 服务的可执行文件名
2. 服务连接的队列名
3. 组名
4. 服务的数字id
5. 服务已经处理的请求数(该SERVER的所有service的负载因子总和)
6. 服务处理的全部请求的参数和,如果当前没有service被调用,则为IDLE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

psc
为printservice的简写,查看TUXEDO各服务的运行情况和处理的交易数。
psc [-m machine] [-g groupname] [-I srvid] [-q qaddress][-s service] [-a {0|1|2}]
-s service 显示名为sevice的service信息
-a {0|1|2} 显示系统的隐含的service
其他参数与psr命令相同

(2) 结果示例:
> psc -s sK005insert
Service Name Routine Name Prog Name Grp Name ID Machine # Done Status
———— ———— ——— ——– — ——- —— ——
sK005insert sK005insert RK005 CHGGR+ 15046 SXBOSS 33 AVAIL

(3) 结果说明:
列号 描述
1. Service Name :服务名
2. Routine Name :函数名(采用TUXEDO服务的别名机制,一个函数可以对应多个服务名)
3. Prog Name :service 所在的SERVER名
4. Grp Name :组名
5. ID :server的ID号
6. Machine :server所在的LMID
7. # Done :service被调用的次数
8. Status :service的状态。AVAIL表示可用


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pq
查看队列信息
(1) 命令: printqueue 简写:pq [PADRESS]
(2) 结果示例:
pq 00004.05062
Prog Name Queue Name # Serve Wk Queued # Queued Ave. Len Machine
——— ———— —— ——— ——– ——– ——-
CCS_GEDAIPC_50 00004.05062 1 0 0 0.0 simple
(3) 结果说明:
列号 描述
1. Prog Name :队列连接的服务的可执行文件名
2. Queue Name :字符队列名,是RQADDR参数或一个随机值
3. #Serve :连接的服务数
4. Wk Queued :当前队列的所有请求的参数和
5. #Queued :实际请求数
6. Ave.Len :平均队列长度
7. Machine :队列所在机器的LMID


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pclt
4查看客户端信息pclt
(1) 命令: printclient 简写:pclt
-m machine 显示LMID号为machine上的客户端连接
-u username 显示用户名为username 的客户端连接
-c ctlname 显示用户进程为ctlname的客户端连接
(2) 结果示例:
LMID User Name Client Name Time Status Bgn/Cmmt/Abrt
———- ————— ————— ——– ——- ————-
simple ccsmis WSH 17:42:47 IDLE 0/0/0
simple ccsmis tmadmin 0:44:28 IDLE 0/0/0
(3) 结果说明:
列号 描述
1. 已经登录的客户端机器的LMID
2. 用户名,由tpinit()提供的
3. 客户端名,由tpinit()提供的
4. 客户端连接后经过的时间
5. 客户端状态
6. IDLE——表示客户端目前没有任何交易在工作
7. IDLET——表示客户端启动了一个交易
8. BUSY——表示客户端在工作中
9. BUSYT——表示客户端正在交易控制下工作
10. 启动/提交/中断的交易数


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

bbs
5查看部分统计信息bbs
(4) 命令: bbstats 简写:bbs
> bbs
Current Bulletin Board Status:
Current number of servers: 335
Current number of services: 2324
Current number of request queues: 27
Current number of server groups: 11
Current number of interfaces: 0


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

default
6观察某个节点的进程信息default
(5) 命令:default –m
> default -m SITE13

SITE13> psr
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
——— ———- ——– — —— ——— —————
BBL 30004.00000 SITE13 0 22827 1141350 ..ADJUNCTBB
BRIDGE 836437 SITE13 1 0 0 ( IDLE )
GWADM 00021.00019 BGWGRP1+ 19 0 0 ( IDLE )
GWTDOMAIN 00021.00020 BGWGRP1+ 20 123826 0
GWADM 00022.00021 BGWGRP2+ 21 0 0 ( IDLE )
GWTDOMAIN 00022.00022 BGWGRP2+ 22 0 0 ( IDLE )
GWADM 00025.00027 GWGRP1_+ 27 4 200 ( IDLE )


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pnw
7查看消息发送状态pnw
(6) 命令:printnetwork 简写 pnw
> pnw SITE12

SITE12 Connected To: msgs sent msgs received
SITE14 61904 62319
SITE13 61890 62288
SITE11 15972 13564


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

8退出管理模式q
命令: quit 简写:q


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 04:11


//js动态创建一个基本的表格
function createTable(){
var oTableWrap = document.getElementById(“tableWrap”);
var oTable = document.createElement(“table”);
oTableWrap.appendChild(oTable);
var trId = oTable.insertRow();
var tdId = trId.insertCell();
tdId.innerText = ‘aaa’;
tdId = trId.insertCell();
tdId.innerText = ‘bbb’;
}

说明:
1、tableWrap是一个ID为tableWrap的div。
2、两个关键的方法是:insertRow()、insertCell();
3、单元格内容的设置可以通过如下两种方法
tdID.innerHTML = “hello world”;
tdID.innerText = “hello world”;


//获得当前表格的行数
function getRowCount(tableId){
var oTable = document.getElementById(“tableId”);
return oTable.rows.length;
}

//获得指定行的单元格数量
function getCellCount(rowIndex){
var oTable = document.getElementById(“myTable”);
alert(oTable.rows[rowIndex].cells.length);
}


//设置表格属性
function setTrProperty(tableId, rowIndex){
var oTable = document.getElementById(tableId);
var oTr = oTable.rows[rowIndex];
//设置表格宽度
oTable.width = ‘200px’;
//设置表格对齐方式
oTable.align = ‘center’;
//奇怪,以下的两个属性设置无效
//oTable.cellpadding = ’20px’;
//oTable.cellspacing = ’10px’;
//设置背景色
oTr.bgColor = ‘red’;
//设置行内文本的对齐方式
oTr.align = ‘right’;
//添加事件处理器,newClick是一个自定义方法名
oTr.onclick = newClick;
}

说明:
cellpadding、cellspacing属性的设置不能生效,不知道为什么。


//删除表格
function removeTable(){
var oTable = document.getElementById(“myTable”);
oTable.parentNode.removeChild(oTable);
}

//删除指定表格所有的行
function removeTrs(tableId){
var oTable = document.getElementById(tableId);
oTable.removeNode(true);
}

//删除表格的指定行
function removeRow(TableId, trIndex){
var oTable = document.getElementById(“myTable”);
oTable.deleteRow(trIndex);
}

function newClick(){
alert(“hello”);
}

获得当前行的索引值并删除当前行:

onclick=”alert(this.parentElement.parentElement.rowIndex);this.parentElement.parentElement.removeNode(true);”

a
b
评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 04:11
标签:

1 createElement(element)
创建一个指定标签名创建一个新的元素节点,返回值为指向新建元素节点的引用指针。
eg) var para = document.createElement(“p”);
document.body.appendChild(para);

2 createTextNode()
创建一个包含着给定文本的新文本节点,返回一个指向新建文本节点的引用指针:
reference = document.createTextNode()
参数为新建文本节点所包含的文本字符串
eg)
var message = document.createTextNode(“hello world”);
var container = document.createElement(“p”);
container.appendChild(message);
document.body.appendChild(container);

3 cloneNode()
reference = node.cloneNode(deep)
为给定节点创建一个副本,参数为 true 或者 false,true 表示同时复制该节点的子节点,false 则不复制任何子节点。
var para = document.createElement(“p”);
var message = document.createTextNode(“hello world”);
para.appendChild(message);
document.body.appendChild(para);
var newpara = para.cloneNode(true);
document.body.appendChild(newpara);

4 appendChild()
reference = node.appendChild(newChild);
插入节点,例子参考前面。

5 insertBefore()
reference = element.insertBefore(newNode,targetNode)
将一个给定节点插入到一个给定元素节点的给定子节点的前面,返回一个指向新增子节点的引用指针。
eg)
var container = document.getElementById(“content”);
var message = document.getElementById(“fineprint”);
var para = document.createElement(“p”);
container.insertBefore(para,message);

6 removeChild()
reference = element.removeChild(node)
将从一个给定元素利删除一个子节点,返回一个指向已被删除的子节点的引用指针。
当某个节点被 removeChild()删除后,此节点所有子节点都被删除。

7 replaceChild()
reference = element.replaceChild(newChild,oldChild)
把一个给定父元素里的一个子节点替换为另外一个节点,oldChild 节点必须是 element 元素的一个子节点,返回值是一个指向已被替换的那个
子节点的引用指针。
eg)
var container = document.getElementById(“content”);
var message = document.getElementById(“fineprint”);
var para = document.createElement(“p”);
container.replaceChild(para,message);

8 setAttribute()
element.setAttribute(attributeName,attributeValue);
为给定元素节点添加一个新的属性值或是改变它的现有属性

9 getAttribute
attributeValue = element.getAttribute(attributeName)
返回一个给定元素的一个给定属性节点的值。

10 getElementById()
element = document.getElementById(ID)
寻找一个有着给定 id 属性值的元素,返回一个元素节点

11 getElementByTagName()
用于寻找有着给定标签名的所有元素:
elements = document.getElementsByTagName(tagName)
返回一个节点集合。

12 hasChildNodes
用来检查一个给定元素是否有子节点
booleanValue = element.hasChildNodes
返回 true 或 false。

DOM属性
nodeName
属性将返回一个字符串,其内容是给定节点的名字。
如果节点是元素节点,返回这个元素的名称;
如果是属性节点,返回这个属性的名称;
如果是文本节点,返回一个内容为#text 的字符串;

nodeType
该属性将返回一个整数,这个数值代表给定节点的类型

nodeValue
该属性将返回给定节点的当前值
如果节点是元素节点,返回null;
如果是属性节点,返回这个属性的名称;
如果是文本节点,返回文本节点的内容;

遍历节点树
childNodes 该属性返回一个数组,这个数组由给定元素节点的子节点构成
firstChild 返回第一个子节点
lastChild 返回最后一个子节点
nextSibling 返回给定节点的下一个子节点
parentNode 返回一个给定节点的父节点
previousSibling 返回给定节点的下一个子节点??

14 setTimeout
javaScript 函数,能够让某个函数在经过一段预定的时间之后才开始执行,函数有两个参数,第一个参数是将要执行的那个函数的名字;
第二个参数是一个数值,以毫秒为单位设定了需要经过多长时间才开始执行由第一个参数所给出的函数:
setTimeout(“function”,interval);

参考:
使用Javascript和DOM Interfaces来处理HTML

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 01:11
标签:

code.JPG

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 12:11
标签: ,

当网页上的表单(form)通过get方式提交数据到Web服务器时,’?’, ‘&’, ‘=’, ‘%’, ‘+’ 等符号在提交的数据中都有特殊的定义和用途。因此,如果所要提交的某个表单项中,包含这些符号,那么这些符号就需要进行一下转化,然后服务器再进行逆向转化而得到本来所要提交的数据。

转化的格式是:%XX (百分号再跟上被转化符号的16进制编码)。比如:’?’ 会被转化成 ‘%3F’,空格 ‘ ‘ 会被转化成 ‘+’ 或者 ‘%20’。

如果所要提交的表单数据中,包含有汉字,那么浏览器会将会将每个汉字根据当前页面所使用的的编码转化成字节,然后将每个字节采用“%XX”的格式提交到服务器。服务器端遇到“%XX”格式的数据时,会根据“XX”编号得到字节,然后再根据同样的编码得到字符串。

举例说明:提交内容“a=%D6%D0%CE%C4%31%32%33”到服务器,通过服务器提供的功能获取表单项“a”得到的内容是:“中文123”。

下表中列出了一些URL特殊符号及编码

1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. # 表示书签 %23
7. & URL 中指定的参数间的分隔符 %26
8. = URL 中指定参数的值 %3D

例:要传递字符串“this%is#te=st&o k?+/”作为参数t传给te.asp,则URL可以是:
te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F 或者
te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F (空格可以用%20或+代替)

java中URL 的编码和解码函数
java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);

在javascript 中URL 的编码和解码函数
escape(String s)和unescape(String s) ;

uri的编码规范:http://www.faqs.org/rfcs/rfc2396.html

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 11:11
标签: ,,

HTTP请求:GET与POST方法的区别

HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。 比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。 More …

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/10 07:11

目前发现的方法有两种:

1 当不需要向被刷新的Frame传递参数的时候:

top.框架名.location.reload();

2 当需要向被刷新的Frame传递参数的时候:

top.框架名.location.href = “XXX.jsp?paramName=paramValue”;

评论关闭
发表于: other | 作者: | 日期: 2008/11/07 04:11
标签:

一段时间以来,我在中国营销传播网上的文章《我的创业失败故事》。看了很多人留言评论,大家对个人价值的实现形式问题提出了各自的感想和看法,大有华山论剑之势,可见人们对创业的关心程度。仔细一分析,其实相当多的人并不仅仅是为了赚钱,更多的是看不清楚价值实现的形式或者路径这个问题。只是现在经济成就能够被广泛的作为价值识别的指标。为什么在这个价值指标面前那么多的人产生焦虑呢?因为这个时代已经是一个多元化的时代了,价值同化和模式同化已经让人感到厌烦,频繁的从事一件事情已经让人不可忍受,人们需要新的生活或者生存方式,但是现在这种方式还没有真正得到认可或者碰撞,缺少多元化的社会氛围,少数派变成了“异端”。任何社会的任何阶段“异端”都是寂寞的,“异端”的寂寞恰恰为这个越来越同化的社会增加了差异性。

这里我想从盈利模式角度谈谈自己对创业的看法。

盈利模式归结为十二个字:利润来源、生成过程、产出形式。人是选择工作还是选择创业,完全是个人盈利模式的选择问题。

其实人的价值呈现模式是很多的,不适合创业的可能适合打工;而打工的遇到玻璃顶棚现象了,可以选择岗位修炼,但是个人怎么修炼,修炼什么内容,涉及哪些方面,有时候是职业技能的,有时候是情商修炼的,不一而足。那些今天不想明天出路的人并不代表就不会遇到这样的问题。价值实现包括个人和社会两个层面,到了一定时间之后,这两个层面的矛盾问题就突现出来。

人和商业、企业一样也存在一个经营的问题,不但需要修炼,更需要设计,人的设计首先要进行自身价值趋向的识别,即认识清楚自己。这个很关键。

现实生活中很多人走的是一条模式同化的道路,所以很多人被逼着考学历证照,但是到底这些证照多少才够用,自己并不是很清楚,这跟现在的市场推广和广告投放一样,是否能够具备精确打击的功能?人的成本其实也包括时间成本、财务成本、机会成本、沟通成本等等综合成本,当我们不能做到精确打击的时候,其实已经在增加人生成本了,职业或者创业咨询的意义不在于合理与否,而在于有效与否。那些老板们正是注重人生的成本的行为专家,只是与平常人不同的是他们不知道自己有效利用的是哪一部分,而平常人正好不知道自己浪费的是哪一部分。这个模糊地带就是咨询的价值所在。创业者是不信邪的。

创业就是把自己当成产品去经营就可以了,不是自己不行,而是没把创业当回事。现在上海一些大学把“创业是最好的工作”作为知道就业的一个方面进行宣传,但是,这种想法其实没有把学生创业的两个基本条件搞清楚:没经验和没钱财。宽泛的进行创业宣传很容易被类似非法传销者所利用,因此创业宣传一定要具体,不但要有具体想法还要要有具体工具以及具体做法。

按照人的价值类型以及个人赚钱的执行方式,目前个人赚钱基本有五类:纯创业、纯打工、边打工边创业、边学习边打工、边学习边创业。每个类型的人的生活和作息规律都有所不同,因此每个群体都有各自适合的赚钱途径。各有利弊,其中打工是比较安全的,而创业预期收益相对要高,这里不是要鼓吹创业,而是说适合的人做适合的事。有想法,有能力,有条件那就可以试一试。

个人创业要一针见血、精确打击,最好是那种短平快的项目。个人创业者切忌好高务远和贪大求全,更不可赌,“大赌未必大赢”,同时“小钱看不上,大钱赚不到”也使很多人就这么蹉跎岁月。

个人创业一定要坚持一个衡量指标是否有效。有效包含两层意义,可操作难度低和涉及环节不要太多。作为个人创业,投入和风险是首先要考虑的方面。

现在整体感觉对于创业的认识误区很多,关于个人赚钱的模式研究不多,很多都是经验性的,希望更多的人关注人本身的成长途径的多元性,当个人盈利形成一种社会风潮的时候,我们面临的创业环境才可以更加宽松,象国外很多大企业都是当初创立者象拉扯孩子一样建立起来的,而现在国内就是包括浙商在内宏观和舆论环境依然不是很宽松,最近的几起资本运作案例:如哈六药等在一定程度上给我们一些看民营企业前途的角度。创业要走多远做多大是很耐人寻味的。

我想只有来自基层的包括每年新毕业学生以及目前正在努力创业的人的共同努力才能最终推动宏观环境的暖化。这样,异端们才可以不寂寞。

来源:网络
作者:佚名

评论关闭