新近学习AJAX技术,在体验了JSON传输数据,jquery提供界面效果的技术后,对Jquery的无刷新提交数据感觉挺不错。然而现在要处理无刷新上传文件,JS是可以对文件进行管理和创建的,然而如果使用js来读取并二进制化文件主要是权限和代码复杂度的问题,而且浏览器的 form的enctype能够很简单的实现文件的上传。
有朋友讲可以通过iframe隐藏对象来传送文件,我觉得也是非常不错的一个办法,把显示的form设为一般类型,在提交的时候,把对应值赋值给iframe对象的form,然后调用iframed的form的submit();就可以把文件上传上去了。
从理论上讲,上面的工作实现起来也不是太难,只是要对于iframe上传来讲,不是很好监控进度,我的一个朋友已经通过这种方法实现了文件的上传。但是jQuery丰富的插件库给我提供了极大的便利。于是搜索了一下jQuery的文件上传,发现了这个叫:AjaxFileUpload的插件。
工序也很简洁,更一般的AJAX文本传输差别不是太大,下面摘抄的一位网友的指导,跟API里面的相差不大:
需要使用jQuery库文件和AjaxFileUpload库文件
使用实例
一,包含文件部分
<script type="text/javascript" src="jquery.js"></script>
<script type="te ......
了解JavaScript的人都知道JavaScript的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的。如在全局作用域调用一个含this的对象,此时当前对象的this指向的是window。为了让this的指向符合自己的意愿,JavaScript提供了两个方法用以改变this的指向,它们是call和apply,当然也有利用闭包来实现的方法。本文通过一个例子来说明这些问题。
先看一段演示代码,这代码只供演示用,没有实际意义。
//一个没有实际意义的socket连接对象
var socket =
{
connect: function(host, port)
{
alert('Connecting socket server,host:' + host + ',port:' + port);
}
};
//一个即时通讯类,其中connect方法还将作为AJAX回调函数被调用
function classIm()
{
this.host = '192.168.1.28';
this.port = '8080';
this.connect ......
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[temp_Table]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[temp_Table]
GO
CREATE TABLE [dbo].[temp_Table] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[productname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
insert into temp_table select column from table
declare @i int,@c int,@string varchar(5000),@j varchar(5000)
DECLARE @SQLString NVARCHAR(5000)
select @SQLString=N'select @c = count(*) from temp_table'
execute sp_executesql @sqlstring,
N'@c int output',
@c=@c output
set @i=1
set @string=''
while @i<=@c
begin
s ......
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<he
ad>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv
。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器
人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网
页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keyword
s(分类关键词),所以应该给每页加一个meta值。比较常用的有以下几个:
name 属性
1、<meta name="Generator" contect="">用以说明生成工具(如Microsoft F
rontPage 4.0)等;
2、<meta name="KEYWords" contect="">向搜索引擎说明你的网页的关键词;
3、<meta name="DEscription" contect="">告诉搜索引擎你的站点的主要内容
;
4、<meta name="Author" contect="你的姓名">告诉搜索引擎你的站点的制作
爱电脑,爱pc136.com
的作者;
5、<meta name="Robots" contect= "all|none|index|noindex|follow|nofol
low">
其中的属性说明如下:
设定为all:文件将被检索,且页面上的链接可 ......
1.CSS控制背景图片:
对于一个网页,我们开始设计的时候,可能没有过多的去想背景图到底是什么,因为大多都是设计背景色就可以了,原因吗,我想也很简单,因为它与前景音乐一样,对于网页的打开,速度会有一定的影响。不过对于一般的个人网站,或者个人博客而言,它对展现自己的个性,当然是不可或缺的了,当然什么都不会太过完美,有好就有坏,也就是当图像不可用但CSS可用的时候,替换内容就不会显示出来,因此,并不建议在导航按钮文本或类似的情况中使用CSS背景图片。
控制背景图片的CSS属性有很多,只要与图片的相关的,大多都会用的上。
(1)、背景图片的导入:
当然大家最熟悉的当然是background与background-image了。
为网页设计背景图片的代码是:
body {background:url("d:\images\04.jpg")}
或者
body {background-image:url("d:\images\04.jpg")}
这样的话,我们就能将想要作背景的图片导进网页里了。
(2)、背景图片的显示方式:
当然,只用上面的代码,是无法表达出自己想要的效果的。因为,图片小了,就会以平铺的方式,如果是大了, ......
CSS
a {}{text-decoration:none;}
a,a:visited {}{color:#000;background:inherit;}
body {}{margin:0;padding:20px;font:12px tahoma,宋体,sans-serif;}
dt {}{font-size:22px;font-weight:bold;margin:0 0 0 15px;}
dd {}{margin:0 0 0 15px;}
h4 {}{margin:0;padding:0;font-size:18px;text-align:center;}
p {}{margin:0;padding:0 0 0 18px;}
p a,p a:visited {}{color:#00f;background:inherit;}
/**//*CNLTreeMenu Start*/
.CNLTreeMenu img.s {}{cursor:pointer;vertical-align:middle;}
.CNLTreeMenu ul {}{padding:0;}
.CNLTreeMenu li {}{list-style:none;padding:0;}
.Closed ul {}{display:none;}
.Child img.s {}{background:none;cursor:default;}
#CNLTreeMenu1 ul {}{margin:0 0 0 17px;}
#CNLTreeMenu1 img.s {}{width:20px;height:15px;}
#CNLTreeMenu1 .Opened img.s {}{background:url(skin1/opened.gif) no-r ......
CSS
a {}{text-decoration:none;}
a,a:visited {}{color:#000;background:inherit;}
body {}{margin:0;padding:20px;font:12px tahoma,宋体,sans-serif;}
dt {}{font-size:22px;font-weight:bold;margin:0 0 0 15px;}
dd {}{margin:0 0 0 15px;}
h4 {}{margin:0;padding:0;font-size:18px;text-align:center;}
p {}{margin:0;padding:0 0 0 18px;}
p a,p a:visited {}{color:#00f;background:inherit;}
/**//*CNLTreeMenu Start*/
.CNLTreeMenu img.s {}{cursor:pointer;vertical-align:middle;}
.CNLTreeMenu ul {}{padding:0;}
.CNLTreeMenu li {}{list-style:none;padding:0;}
.Closed ul {}{display:none;}
.Child img.s {}{background:none;cursor:default;}
#CNLTreeMenu1 ul {}{margin:0 0 0 17px;}
#CNLTreeMenu1 img.s {}{width:20px;height:15px;}
#CNLTreeMenu1 .Opened img.s {}{background:url(skin1/opened.gif) no-r ......