文档标签: qianduan
location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如http://domain/#admin的location.hash="#admin"。利用这个属性值可以做一个非常有意义的事情。
很多人都喜欢收藏网页,以便于以后的浏览。不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,如果你浏览到一个Ajax页面里边有意思的内容,想将它收藏起来,可是地址只有一个呀,下次你打开这个地址,还是得像以往一样不断地去点击网页,找到你钟情的那个页面。另外的话,浏览器上的“前进”“后退”按钮也会失效,这于很多习惯了传统页面的用户来说,是一个很大的使用障碍。
那么,怎么用location.hash来解决这两个问题呢?其实一点也不神秘。
比如,我的作者管理系统,主要功能有三个:普通搜索、高级搜索、后台管理,我分别给它们分配一个hash值:#se...
typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型。包含undefined、boolean、string、number、object、function)
[js]
var message = "so easy";
alert(typeof message); //"string"
alert(typeof 12); //"number"
[/js]
可以这样记忆:typeof是用来判断不是用new创建的“变量”。
instanceof用来检测对象的类型(也可叫做引用类型。包含Object、Array、Date、RegExp、Function、基本包装类型(含Boolean、Number、String))
[js]
var numberObject = new Number(10);
var numberValue = 10;
alert(typeof numberObject); //"object"
alert...
上一篇文章我们是写的用prototype+php实现了comet,本人对prototype不熟,为理解它的原理,所以用Jquery改写了一下,php代码没有变.
[php]
<?php
set_time_limit(9990);
$filename = dirname(__FILE__).'/data.txt';
// store new message in the file
$msg = isset($_GET['msg']) ? $_GET['msg'] : '';
if ($msg != ''){
file_put_contents($filename,$msg,LOCK_EX);
die();
}
// infinite loop until the data file is not modified
$lastmodif = isset($_GET['timestamp']) ? $_GET['timestamp'] : 0;
$currentmodif = filemtime($filena...
最近在看“服务器推送技术”,在B/S结构中,通过某种magic使得客户端不需要通过轮询即可以得到服务端的最新信息 (比如股票价格,聊天室,webQQ、开心网、白社会),这样可以节省大量的带宽。
传统的轮询技术对服务器的压力很大,并且造成带宽的极大浪费。如果改用ajax轮询,可以降低带宽的负荷(因为服务器返回的不是完整页面),但是对 服务器的压力并不会有明显的减少。
而推技术(push)可以改善这种情况。但因为HTTP连接的特性(短暂,必须由客户端发起),使得推技术的实现比较困难,常见的做法是通过延长 http连接的寿命,来实现push。
基本实现原理:
接下来自然该讨论如何延长http连接的寿命,最简单的自然是死循环法,如果使用观察者模式则可以进一步提高性能。
但是这种做法的缺点在于客户端请求了这个servlet后,web服务器会开启一个线程执行servlet的代码,而servlet由迟迟不肯结 束,造成该线程也无法被释放。于是乎,一个客户端一个线程,当客户端数量增加时,服务器依然会承受很大的负担。
要从根本上...
在这篇教程里,我们将了解这一过程,用EventSource对象处理接收的数据并将其写入页面。我们将在客户端使用HTML5和JavaScript,而在服务器端则使用PHP。
在现有模式下,如Ajax,网页中的代码会持续询问服务器是否要提供新数据,而客户端则负责要对这一信息发出请求。有了服务器发送的请求,你就可以把数据导出服务器,这样就可以从那儿推出更新,而不需要客户端代码不停对其发出请求。一旦页面发出服务器发送事件,服务器脚本就会持续发送更新。你的JavaScript代码会在接收到新数据的时候将其写入页面。
创建一个HTML5页面
用下列代码创建你的HTML5页面:
[html]
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
[/html]
添加一个要素显示服务器发送的数据
我们要在一个专用页面要素里显示从服务器接收到的数据...
你可以使用这句代码读取jQuery的最新版本的代码文件。
jquery官方的引用地址:
示例:
[js]
<script src="http://code.jquery.com/jquery-latest.js"></script>
[/js]
有效地址:
[js]
http://code.jquery.com/jquery-1.4.1.min.js
http://code.jquery.com/jquery-1.4.1.js
[/js]
其中:1.4.1是版本信息
latest: 表示最新
Google引用地址:
可以使用下面这个代码从ajax.googleapis.com调用同样的最新版本jQuery:
示例:
[js]
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"type="text/javasc...
在做产品展示的时候经常要求产品图片等比例缩小并居中显示
来看看根据以前的一个函数进化而来的更完善的js函数:
[js]
//等比例缩小图片
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight )
{
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight )
{
param.width = maxWidth;
param.height = Math....
现在页面很多地主要对元素进行操作.
一、获取父级元素
1、 parent([expr]):
获取指定元素的所有父级元素
<div id="par_div"><a id="href_fir" href="#">href_fir</a>
<a id="href_sec" href="#">href_sec</a>
<a id="href_thr" href="#">href_thr</a></div>
<span id="par_span">
<a id="href_fiv" href="#">href_fiv</a>
</span>
$(document).ready(function(){
$("a").parent().addClass('a_par');
});
二、获取同级元素:
1、next([expr]):
获取指定元素的下一个同级元素(注意是下一个...
经常用到editplus工具编写网页,得是其快捷键还不是很了解,现在用得最多的就是添加注释和删除注释了。
EditPlus默认没有行注释的快捷键,要自行添加。
我用的3.12,在“工具-首选项”,
分类里选“工具--键盘”,类型选“编辑”,
命令找到“行注释”,
在“按下新的快捷键”里按下键盘即可,之后点“分配”。
注意:翻译版本不一样,也不一定叫“添加注释” “移除注释”,而且位置也不一样,
比如用的3.31,两个并不是在靠在一起的,不过意思差不多,仔细找找就行了。
命令里还有“取消行注释”(仔细找,命令实在是很多),也可以设个快捷键。不过这个不能和“行注释”相同。
文章来源:EditPlus自行添加行注释的快捷键...
这节主要和大家一起来学习CSS3选择器的第二部分——属性选择器。属性选择器早在CSS2中就被引入了,其主要作用就是对带有指定属性的HTML 元素设置样式。使用CSS3属性选择器,你可以只指定元素的某个属性,或者你还可以同时指定元素的某个属性和其对应的属性值。
从上一节展示的CSS3选择器的图表中,我们可以知道,CSS3的属性选择器主要包括以下几种:
E[attr]:只使用属性名,但没有确定任何属性值;
E[attr="value"]:指定属性名,并指定了该属性的属性值;
E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写;
E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;
E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;
E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;
...
偶尔会忘记服务器的密码,只是putty记住了密码的,有时在其它机器上登录的时候就忘记了!
若只是更改密码就是:
passwd username.
然后输入 两次密码即可。
---------------------------------------
如果要连用户名一起改:假设原来用户名为aaa,现在准备改成bbb
vipw 修改 /etc/passwd,再改 /etc/shadow
然后 vigr 修改 /etc/group,再改 /etc/gpasswd
最后 mv /home/aaa/home/bbb
su bbb,成功
修改用户还有一种方法:
修改用户名等属性,用usermod最简单了
如 usermod -l aaa bbb
aaa是新的,bbb是原来的...
要制作页面的时候可能会引用多个框架,比如:jquery、mootools、prototype等框架,可能就会造成冲突,
jQuery解决与其他框架冲突的方法:
[js]
<script type="text/javascript"> jQuery.noConflict(); </script>
[/js]...
普通的 html 代码
[js]
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
var maxNum = 100;
$(document).ready(function() {
$('.counter').text(maxNum);
$('#status').bind({
keyup: function() {
...