乌秋博客
梦想在左,生活在右。   

关于网线接法
网线之双绞线的做法
普通的网线分为两种,一种是机对机,一种是机对集线器,既一种是同等设备,一种是不同设备。一要网线有两个水晶头,不同的网线,水晶头的做法不一样。
水晶头的做法普通的也是两种,一种为568A,一种为568B,同等设备的水晶头由一个568A和一个568B两个水晶头组成。不同设备则是由一个两个568A或者568B的水晶头组成。
以下是两种水晶头的排线方法:
568A: 绿白,绿,橙白,蓝,蓝白,橙,棕白,棕
568B: 橙白,橙,绿白,蓝,蓝白,绿,棕白,棕

排好线后,用手捏紧,左右折一下,就可以把网线弄直,并且紧紧的挨在一起,剪掉多余的线,把水晶头有卡的向下,套进来,保证每根线都和里面的金属丝接触到,用网线钳夹紧.
网线接法(参考计算机报2000.12.11 49期)

水晶头金属面对自己,从左到右为1-8

标准568A: 绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8

标准586B:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8

568B网线绞法:
即从左往右分别为:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
568A网线绞法:
即从左往右分别为:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
交换机与工作站、服务器采用568B与568B;
交换机与交换机级联采用568B与568B,但插口采用“普通口”与“UPLINK口”
注意:请按以上接法,否则网络性能不稳定,传输延迟等现象,客户机易死机、蓝


10M使用两对线12,36

100M使用四对线

要求12,36,45,78必须双绞

交叉线的制作(用于HUB没有线连口、两台电脑直连)

10M 

1 2 3 4 5 6 7 8
3 6 1 4 5 2 7 8

100M 

1 2 3 4 5 6 7 8
3 6 1 2 7 8 4 5


568B网线绞法:
即从左往右分别为:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
568A网线绞法:
即从左往右分别为:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
交换机与工作站、服务器采用568B与568B;
交换机与交换机级联采用568B与568B,但插口采用“普通口”与“UPLINK口”

注意:请按以上接法,否则网络性能不稳定,传输延迟等现象,客户机易死机、蓝屏。

你用的是什么线?两机互联,用双绞线,接法为:
一端为:橙白、橙、绿白、蓝、蓝白、绿、褐白、褐
另一端:绿白、绿、橙白、蓝、蓝白、橙、褐白、褐
---------------------------------------------------------------

双绞线的接法,说白了就是12,36对调就可以了至于颜色的排列倒不是很重要了/
----------------------------------------------------------

一机分别装一网卡
然后用网线连上

线序为

橙白,蓝,绿白,橙,蓝白,绿,棕白,棕

绿白,绿,橙白,橙,蓝白,蓝,棕白,棕
连好后网卡灯亮了就通了
---------------------------------------------------------------

橙白,橙色,绿白,蓝色,蓝白,绿色,棕白,棕色;
绿白,绿色,橙白,蓝色,蓝白,橙色,棕白,棕色;
就是1-3.2-6对换。

---------------------------------------------------------------

一机分别装一网卡,然后用网线连上。
网线接法:
一端为:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
另一端:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕
两台机子均添加TCP/IP、NETBEUI、IPX/SPX兼容协议以及microsoft网络用户即可
点击放大或缩小
posted at 06/03/30 10:47 | 技术文摘 - Java | 浏览(59) | 引用 | 评论

google我爱你(Google Hack)
站内搜索地址为:
http://www.google.com/custom?domains= (这里写我们要搜索的站点,比如feelids.com)
进去可以选择www和feelids.com, 当然再选我们要的站内搜索哦!
黑客专用信息和资料搜索地址为:
http://www.google.com/custom?hl=xx-hacker
这里是google关键字的用法,要设置它为中文,则是
http://www.google.com/custom?hl=zh-CN
英文则是http://www.google.com/custom?hl=en

常用的google关键字:
foo1 foo2 (也就是关联,比如搜索xx公司 xx美女)
operator:foo
filetype:123 类型
site:foo.com 相对直接看网站更有意思,可以得到许多意外的信息
intext:foo
intitle: fooltitle 标题哦
allinurl:foo 搜索xx网站的所有相关连接。(踩点必备)
links:foo 不要说就知道是它的相关链接
allintilte:foo.com

我们可以辅助"-" "+"来调整搜索的精确程度

直接搜索密码:(引号表示为精确搜索)
当然我们可以再延伸到上面的结果里进行二次搜索
"index of" htpasswd / passwd
filetype:xls username password email
"ws_ftp.log"
"config.php"
allinurl:admin mdb
service filetype:pwd ....或者某个比如pcanywhere的密码后缀cif等

越来越有意思了,再来点更敏感信息
"robots.txt" "Disallow:" filetype:txt
inurl:_vti_cnf (FrontPage的关键索引啦,扫描器的CGI库一般都有地)
allinurl: /msadc/Samples/selector/showcode.asp
/../../../passwd
/examples/jsp/snp/snoop.jsp
phpsysinfo
intitle:index of /admin
intitle:"documetation"
inurl: 5800(vnc的端口)或者desktop port等多个关键字检索
webmin port 10000
inurl:/admin/login.asp
intext:Powered by GBook365
intitle:"php shell*" "Enable stderr" filetype:php 直接搜索到phpwebshell

foo.org filetype:inc

ipsec filetype:conf
intilte:"error occurred" ODBC request WHERE (select|insert) 说白了就是说,可以直接试着查查数据库检索,针对目前流行的sql注射,会发达哦
intitle:"php shell*" "Enable stderr" filetype:php
"Dumping data for table" username password
intitle:"Error using Hypernews"
"Server Software"
intitle:"HTTP_USER_AGENT=Googlebot"
"HTTP_USER_ANGET=Googlebot" THS ADMIN
filetype:.doc site:.mil classified 直接搜索军方相关word

检查多个关键字:
intitle:config confixx login password

"mydomain.com" nessus report
"report generated by"
"ipconfig"
"winipconfig"

google缓存利用(hoho,最有影响力的东西)推荐大家搜索时候多"选搜索所有网站"
特别推荐:administrator users 等相关的东西,比如名字,生日等……最惨也可以拿来做字典嘛
cache:foo.com

可以查阅类似结果

先找找网站的管理后台地址:
site:xxxx.com intext:管理
site:xxxx.com inurl:login
site:xxxx.com intitle:管理
site:a2.xxxx.com inurl:file
site:a3.xxxx.com inurl:load
site:a2.xxxx.com intext:ftp://*:*
site:a2.xxxx.com filetype:asp
site:xxxx.com //得到N个二级域名
site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的
site:xxxx.com intext:电话 //N个电话
intitle:"index of" etc
intitle:"Index of" .sh_history
intitle:"Index of" .bash_history
intitle:"index of" passwd
intitle:"index of" people.lst
intitle:"index of" pwd.db
intitle:"index of" etc/shadow
intitle:"index of" spwd
intitle:"index of" master.passwd
intitle:"index of" htpasswd
"# -FrontPage-" inurl:service.pwd

allinurl:bbs data
filetype:mdb inurl:database
filetype:inc conn
inurl:data filetype:mdb
intitle:"index of" data
……

一些技巧集合:

3) "http://*:*@www" domainname 找一些ISP站点,可以查对方ip的虚拟主机
3
4) auth_user_file.txt 不实用了,太老了

5) The Master List 寻找邮件列表的

6) intitle:"welcome.to.squeezebox" 一种特殊的管理系统,默认开放端口90
7) passlist.txt (a better way) 字典

8) "A syntax error has occurred" filetype:ihtml

9) ext:php program_listing intitle:MythWeb.Program.Listing
10) intitle:index.of abyss.conf
11)ext:nbe nbe

12)intitle:"SWW link" "Please wait....."
13)

14) intitle:"Freifunk.Net - Status" -site:commando.de

15) intitle:"WorldClient" intext:"? (2003|2004) Alt-N Technologies."

17) intitle:open-xchange inurl:login.pl

20) intitle:"site administration: please log in" "site designed by emarketsouth"
21) ORA-00921: unexpected end of SQL command

22)intitle:"YALA: Yet Another LDAP Administrator"
23)welcome.to phpqladmin "Please login" -cvsweb
24)intitle:"SWW link" "Please wait....."
25)inurl:"port_255" -htm

27)intitle:"WorldClient" intext:"? (2003|2004) Alt-N Technologies."

这些是新的一些漏洞技巧,在0days公告公布

ext:php program_listing intitle:MythWeb.Program.Listing

inurl:preferences.ini "[emule]"

intitle:"Index of /CFIDE/" administrator

"access denied for user" "using password"

ext:php intext:"Powered by phpNewMan Version" 可以看到:path/to/news/browse.php?clang=../../../../../../file/i/want

inurl:"/becommunity/community/index.php?pageurl="

intitle:"ASP FileMan" Resend -site:iisworks.com

"Enter ip" inurl:"php-ping.php"

ext:conf inurl:rsyncd.conf -cvs -man

intitle: private, protected, secret, secure, winnt

intitle:"DocuShare" inurl:"docushare/dsweb/" -faq -gov -edu
"#mysql dump" filetype:sql

"allow_call_time_pass_reference" "PATH_INFO"

"Certificate Practice Statement" inurl:(PDF | DOC)

LeapFTP intitle:"index.of./" sites.ini modified
master.passwd

mysql history files
NickServ registration passwords
passlist
passlist.txt (a better way)
passwd
passwd / etc (reliable)
people.lst
psyBNC config files
pwd.db
signin filetype:url
spwd.db / passwd
trillian.ini
wwwboard WebAdmin inurl:passwd.txt wwwboard|webadmin

"# -FrontPage-" ext:pwd inurl:(service | authors | administrators | users) "# -FrontPage-"

inurl:service.pwd
"AutoCreate=TRUE password=*"
"http://*:*@www" domainname
"index of/" "ws_ftp.ini" "parent directory"
"liveice configuration file" ext:cfg -site:sourceforge.net
"powered by ducalendar" -site:duware.com
"Powered by Duclassified" -site:duware.com
"Powered by Duclassified" -site:duware.com "DUware All Rights reserved"
"powered by duclassmate" -site:duware.com
"Powered by Dudirectory" -site:duware.com
"powered by dudownload" -site:duware.com
"Powered By Elite Forum Version *.*"
"Powered by Link Department"
"sets mode: +k"
"Powered by DUpaypal" -site:duware.com
allinurl: admin mdb
auth_user_file.txt
config.php
eggdrop filetype:user user
etc (index.of)
ext:ini eudora.ini
ext:ini Version=... password
ext:txt inurl:unattend.txt

filetype:bak inurl:"htaccess|passwd|shadow|htusers"

filetype:cfg mrtg "target[*]" -sample -cvs -example

filetype:cfm "cfapplication name" password

filetype:conf oekakibbs
filetype:conf sc_serv.conf

filetype:conf slapd.conf

filetype:config config intext:appSettings "User ID"

filetype:dat "password.dat"

filetype:dat wand.dat

filetype:inc dbconn

filetype:inc intext:mysql_connect
filetype:inc mysql_connect OR mysql_pconnect

filetype:inf sysprep

filetype:ini inurl:"serv-u.ini"
filetype:ini inurl:flashFXP.ini
filetype:ini ServUDaemon
filetype:ini wcx_ftp
filetype:ini ws_ftp pwd

filetype:ldb admin

filetype:log "See `ipsec copyright"

filetype:log inurl:"password.log"

filetype:mdb inurl:users.mdb

filetype:mdb wwforum

filetype:netrc password

filetype:pass pass intext:userid

filetype:pem intext:private

filetype:properties inurl:db intext:password

filetype:pwd service
filetype:pwl pwl

filetype:reg reg +intext:"defaultusername" +intext:"defaultpassword"
filetype:reg reg HKEY_CURRENT_USER SSHHOSTKEYS
filetype:sql ("values * MD" | "values * password" | "values * encrypt")
filetype:sql ("passwd values" | "password values" | "pass values" )
filetype:sql +"IDENTIFIED BY" -cvs
filetype:sql password

filetype:url +inurl:"ftp://" +inurl:";@"

filetype:xls username password email

htpasswd
htpasswd / htgroup
htpasswd / htpasswd.bak

intext:"enable secret $"
intext:"powered by Web Wiz Journal"

intitle:"index of" intext:connect.inc
intitle:"index of" intext:globals.inc
intitle:"Index of" passwords modified

intitle:dupics inurl:(add.asp | default.asp | view.asp | voting.asp) -site:duware.com
----------------------------------------------------------------------------------------------------------------------

intitle:index.of intext:"secring.skr"|"secring.pgp"|"secring.bak"

inurl:"GRC.DAT" intext:"password"

inurl:"slapd.conf" intext:"credentials" -manpage -"Manual Page" -man: -sample

inurl:"slapd.conf" intext:"rootpw" -manpage -"Manual Page" -man: -sample

inurl:"wvdial.conf" intext:"password"

inurl:/db/main.mdb

inurl:chap-secrets -cvs

inurl:config.php dbuname dbpass
inurl:filezilla.xml -cvs

inurl:lilo.conf filetype:conf password -tatercounter -bootpwd -man

inurl:nuke filetype:sql

inurl:ospfd.conf intext:password -sample -test -tutorial -download 路由配置
inurl:pap-secrets -cvs

inurl:perform filetype:ini
inurl:secring ext:skr | ext:pgp | ext:bak

inurl:vtund.conf intext:pass -cvs

inurl:zebra.conf intext:password -sample -test -tutorial -download

"Generated by phpSystem"
"generated by wwwstat"

"Host Vulnerability Summary Report" ]

"HTTP_FROM=googlebot" googlebot.com "Server_Software="

"Index of" / "chat/logs" 聊天室
"Installed Objects Scanner" inurl:default.asp

"Mecury Version" "Infastructure Group"
"Microsoft (R) Windows * (TM) Version * DrWtsn Copyright (C)" ext:log

"Most Submitted Forms and Scripts" "this section"

"Network Vulnerability Assessment Report"

"not for distribution" confidential
"phone * * *" "address *" "e-mail" intitle:"curriculum vitae"

"phpMyAdmin" "running on" inurl:"main.php"

"produced by getstats"
"Request Details" "Control Tree" "Server Variables"
"robots.txt" "Disallow:" filetype:txt

"Running in Child mode"

"sets mode: +p"
"sets mode: +s"
"Thank you for your order" +receipt
"This is a Shareaza Node"
"This report was generated by WebLog"
( filetype:mail | filetype:eml | filetype:mbox | filetype:mbx ) intext:password|subject

(inurl:"robot.txt" | inurl:"robots.txt" ) intext:disallow filetype:txt

-site:php.net -"The PHP Group" inurl:source inurl:url ext:pHp

FBR "ADOBE PHOTOSHOP"
AIM buddy lists
allinurl:/examples/jsp/snp/snoop.jsp
allinurl:servlet/SnoopServlet
cgiirc.conf

data filetype:mdb -site:gov -site:mil

exported email addresses

ext:asp inurl:pathto.asp

ext:cgi inurl:editcgi.cgi inurl:file=

ext:conf inurl:rsyncd.conf -cvs -man
ext:conf NoCatAuth -cvs

ext:dat bpk.dat
ext:gho gho

ext:ini intext:env.ini
ext:ldif ldif

ext:log "Software: Microsoft Internet Information Services *.*"
------------------------------------------------------------------------------------------
ext:mdb inurl:*.mdb inurl:fpdb shop.mdb

filetype:bkf bkf
filetype:blt "buddylist"
filetype:blt blt +intext:screenname

filetype:cfg auto_inst.cfg

filetype:conf inurl:firewall -intitle:cvs
filetype:config web.config -CVS

filetype:ctt ctt messenger

filetype:fp fp
filetype:fp fp -site:gov -site:mil -"cvs log"

filetype:inf inurl:capolicy.inf
filetype:lic lic intext:key

filetype:myd myd -CVS
filetype:ns ns
filetype:ora ora
filetype:ora tnsnames
filetype:pdb pdb backup (Pilot | Pluckerdb)

filetype:pot inurl:john.pot
------------------------------------------------------------------------------------------------------------------
filetype:pst inurl:"outlook.pst"
filetype:pst pst -from -to -date
filetype:qbb qbb
filetype:rdp rdp

filetype:reg "Terminal Server Client"
filetype:vcs vcs
filetype:wab wab

filetype:xls -site:gov inurl:contact
filetype:xls inurl:"email.xls"
Financial spreadsheets: finance.xls
Financial spreadsheets: finances.xls

Ganglia Cluster Reports

haccess.ctl (one way)
haccess.ctl (VERY reliable)
ICQ chat logs, please...

iletype:log cron.log
intext:"Session Start * * * *:*:* *" filetype:log
intext:"Tobias Oetiker" "traffic analysis"

intext:(password | passcode) intext:(username | userid | user) filetype:csv
intext:gmail invite intext:http://gmail.google.com/gmail/a

intext:SQLiteManager inurl:main.php

intitle:"Apache::Status" (inurl:server-status | inurl:status.html | inurl:apache.html)

intitle:"AppServ Open Project" -site:www.appservnetwork.com
intitle:"ASP Stats Generator *.*" "ASP Stats Generator" "- weppos"

intitle:"FTP root at"
intitle:"index of" +myd size

intitle:"Index Of" -inurl:maillog maillog size

intitle:"Index Of" cookies.txt size

intitle:"index of" mysql.conf OR mysql_config
intitle:"Index of" upload size parent directory

intitle:"index.of" .diz .nfo last modified
intitle:"Multimon UPS status page"
intitle:"PHP Advanced Transfer" (inurl:index.php | inurl:showrecent.php )
intitle:"PhpMyExplorer" inurl:"index.php" -cvs
---------------------------------------------------------------------
intitle:"statistics of" "advanced web statistics"
intitle:"System Statistics" +"System and Network Information Center"
intitle:"Usage Statistics for" "Generated by Webalizer"
intitle:"wbem" compaq login "Compaq Information Technologies Group"

intitle:"Web Server Statistics for ****"
intitle:"web server status" SSH Telnet
intitle:"welcome.to.squeezebox"

intitle:admin intitle:login
intitle:index.of "Apache" "server at"
intitle:index.of cleanup.log
intitle:index.of dead.letter
intitle:index.of inbox
intitle:index.of inbox dbx

intitle:intranet inurl:intranet +intext:"phone"
inurl:"/axs/ax-admin.pl" -script
inurl:"/cricket/grapher.cgi"
inurl:"bookmark.htm"

inurl:"cacti" +inurl:"graph_view.php" +"Settings Tree View" -cvs -RPM
inurl:"newsletter/admin/"
inurl:"newsletter/admin/" intitle:"newsletter admin"
inurl:"putty.reg"
inurl:"smb.conf" intext:"workgroup" filetype:conf conf
----------------------------------------------------------------------------------------------------------

Welcome to ntop!

"adding new user" inurl:addnewuser -"there are no domains"
(inurl:/cgi-bin/.cobalt/) | (intext:"Welcome to the Cobalt RaQ")

filetype:php HAXPLORER "Server Files Browser"
intitle:"Web Data Administrator - Login"

inurl:ConnectComputer/precheck.htm | inurl:Remote/logon.aspx
PHP Shell (unprotected)
PHPKonsole PHPShell filetype:php -echo
Public PHP FileManagers

"index of" / picasa.ini
"index of" inurl:recycler
"Index of" rar r nfo Modified
"intitle:Index.Of /" stats merchant cgi-* etc
"Powered by Invision Power File Manager" (inurl:login.php) | (intitle:"Browsing directory /" )
"Web File Browser" "Use regular expression"

filetype:ini Desktop.ini intext:mydocs.dll

intext:"d.aspx?id" || inurl:"d.aspx?id"
intext:"Powered By: TotalIndex" intitle:"TotalIndex"
intitle:"album permissions" "Users who can modify photos" "EVERYBODY"
intitle:"Directory Listing For" intext:Tomcat -intitle:Tomcat
intitle:"HFS /" +"HttpFileServer"
intitle:"Index of *" inurl:"my shared folder" size modified
-------------------------------------------------------------------------------------------------------------------

"File Upload Manager v." "rename to"

ext:asp "powered by DUForum" inurl:(messages|details|login|default|register) -site:duware.com
ext:asp inurl:DUgallery intitle:"." -site:dugallery.com -site:duware.com
ext:cgi inurl:ubb_test

ezBOO "Administrator Panel" -cvs

filetype:cgi inurl:cachemgr.cgi
filetype:cnf my.cnf -cvs -example
filetype:inc inc intext:setcookie

filetype:php inurl:"viewfile" -"index.php" -"idfil
filetype:wsdl wsdl

intitle:"ASP FileMan" Resend -site:iisworks.com

intitle:"Index of /" modified php.exe

intitle:"phpremoteview" filetype:php "Name, Size, Type, Modify"

inurl:" WWWADMIN.PL" intitle:"wwwadmin"
inurl:"nph-proxy.cgi" "Start browsing through this CGI-based proxy"
inurl:"plog/register.php"
inurl:cgi.asx?StoreID

inurl:robpoll.cgi filetype:cgi

The Master List

"More Info about MetaCart Free"
posted at 06/03/28 11:54 | 技术文摘 - others | 浏览(283) | 引用(2) | 评论

Web 2.0中AJAX技术应用详解
  今年互联网上比较火热的话题当然是关于WEB2.0的应用,其中AJAX又是WEB2.0的核心之一。AJAX是Asynchronous JavaScript and XML 的缩写。它并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。

  Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

  我们以两个验证通行证帐号是否存在的例子来讲述AJAX在实际中的应用:

阅读全文..
posted at 06/03/17 22:42 | 技术文摘 - JavaScript | 浏览(15) | 引用(1) | 评论

AJAX如何处理书签和翻页按扭
  本篇文章提供了一个开源JavaScript库,它提供了给AJAX应用程序中添加书签和会退按钮的功能。在学习完这个教程后,开发者将能够对开发AJAX应用碰到的问题获得一个解决方案,这个特性甚至Google Maps 和 Gmail 现在都不提供:提供一个强大的,可用的书签和前进回退按钮,如同其他的WEB应用一样的行为。

  AJAX“如何处理书签和回退按钮”阐述了AJAX应用程序开发书签和回退按钮功能碰到的严重的问题;可以解决以上问题的一个开源框架,并提供真实、简单的历史记录库,还提供了几个运行中的例子。

  本文把这个框架提供的重要发现分两个部分来说明:首先,一个隐藏的HTML表单用来缓存大量短暂的在客户端信息。这些缓存为网页导航提供了强大的支持。其次,一个隐藏的IFrame和超级链接用来截取和记录浏览器的历史事件提供回退按钮和向前按钮的支持。以上两个技术都是通过包装在一个简单的JavaScript库中来实现简单开发。

  问题:书签和回退按钮在传统的多页面的Web应用程序中工作的非常好。当用户浏览网站的时候,浏览器的地址栏记录随新的URLs更新,这些记录可以拷贝到email 或者 书签中供以后使用。回退和前进按钮可以帮助用户在他浏览过的网页中向前或向后翻动。

  AJAX 应用程序却是不同的,他们是运行在一个网页中的复杂程序。浏览器并不是为这类程序制作的―――这类程序是过去的,在每次鼠标点击的时候需要重新刷新整个页面。

  在类似Gmail的AJAX软件中,浏览器的地址栏在用户选择功能和改变程序状态的时候保持不变,这让书签在这类程序中无法使用。未来,如果用户按下“回退”按钮来撤销上次的动作,而浏览器和应用程序分离的状况会让用户很吃惊。

  解决方案:开源Really Simply History (RSH)框架可以用来解决上面的问题,为AJAX应用程序提供书签和控制“回退”、“向前”按钮的功能。RSH 目前还是Beta 状态,可以在Firefox 1.0 , Netscape 7+,Internet Explorer 6+等浏览器上工作,目前还不支持Safari浏览器。可以参考:编码天堂:Safari:不可能的DHTML历史记录。

  有几类AJAX框架目前也支持书签和历史访问的问题,但这些框架因为实现方式的不同,目前都有几个大Bug。未来,很多AJAX框架,比如Backbase 和 Dojo 将会整合历史浏览的功能;这些框架为AJAX应用程序采用完全不同的编程模型,强迫程序员使用完全不同的方式来实现历史浏览的功能。

  相反,RSH 是一个可以包含在现有AJAX系统的单模块。未来,RSH库会进一步改进避免和其他框架的相关功能冲突。

  RSH 历史框架由两个JavaScript类组成:DhtmlHistory 和 HistoryStorage。

  DhtmlHistory 类为AJAX应用程序提供历史浏览记录的抽象。AJAX 页面 add() 历史浏览记录事件到浏览器,保存指定新的地址和相关的历史数据。DhtmlHistory 类使用Hash连接更新浏览器当前的URL,比如:#new-location,同时把历史数据和新的URL关联。AJAX 应用程序把自己注册为历史浏览的监听器,当用户使用 “前进”“回退”按钮来浏览时,历史浏览时间被触发,调用 add() 方法来提供给浏览器新的地址,并保存历史数据。

  第二个类: HistoryStorage允许程序员保存任意的历史浏览数据。在普通的网页中,当用户浏览到一个新的网址,浏览器卸载并清除当前网页所有的程序和JavaScript状态,如果用户返回时,所有的数据都丢失了。HsitoryStorage 类提供带有Hash表的API通过 put() , get() , hasKey() 等方法来解决这类问题。上面的方法允许程序员保存用户离开网页时的任意数据,当用户按“回退”按钮重新返回时,历史数据可以通过HistoryStorage类来访问。我们起初通过使用隐藏的表单字段来实现,因为浏览器自动保存一个表单中字段值,甚至用户离开网页的时候也如此。

  例子:先从一个简单的例子开始吧:

  首先,需要RSH框架的网页中需要包含 dhtmlHistory.js 教本:
<!-- Load the Really Simple
History framework -->
<script type="text/javascript"
src="../../framework/dhtmlHistory.js">
</script>


  DHTML 历史应用程序必须在同级目录下包含blank.html文件。这个文件自动被RSH框架绑定需要被IE浏览器使用。正如刚才提到的,RSH使用一个隐藏的Iframe来保存和增加IE浏览器的改变。这个Iframe需要指定一个实际的文件位置才能正常工作,这就是blank.html。

  RSH 框架创建了一个叫dhtmlHistory的全局对象,这是控制浏览器历史浏览记录的入口点。第一步在网页完成装载后需要初始化 dhtmlHistory 对象。

window.onload = initialize;
    
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();


  然后,程序员使用 dhtmlHistory.addListener() 方法订阅历史浏览事件的改变。这个方法使用了一个JavaScript的回调函数,当记录历史浏览事件发生时这个函数接收两个参数。网页的新地址和任何的历史数据都应该关联到这个事件:

window.onload = initialize;
    
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
  
// subscribe to DHTML history change
// events
dhtmlHistory.initialize();


  historyChange() 方法很直观,当用户浏览到一个新的网页时使用一个方法接收 newLocation ,同时其他的 historyData 可以选择附加到这个事件上:

/** Our callback to receive history change
events. */
function historyChange(newLocation,
historyData) {
debug("A history change has occurred: "
+ "newLocation="+newLocation
+ ", historyData="+historyData,
true);
}


  上面用到的Debug() 是一个工具方法,用来简单的把消息打印到网页上。第二个参数是Boolean型的,如果设置为真,在新的消息打印的时候将会清楚原来的信息。

  Add() 方法。增加一个包含新地址的历史事件,比如:“edit:SomePage”,同时也提供了和事件一起存储的可选 historyDate 值。

window.onload = initialize;
    
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
  
// subscribe to DHTML history change
// events
dhtmlHistory.initialize();
      
// if this is the first time we have
// loaded the page...
if (dhtmlHistory.isFirstLoad()) {
debug("Adding values to browser "
+ "history", false);
// start adding history
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("foobar", 33);
dhtmlHistory.add("boobah", true);
      
var complexObject = new Object();
complexObject.value1 =
"This is the first value";
complexObject.value2 =
"This is the second value";
complexObject.value3 = new Array();
complexObject.value3 = new Array();
complexObject.value3[1] = ¡°array 2¡±;
      
dhtmlHistory.add("complexObject",
complexObject);


  在add()执行后的同时,新的地址作为一个链接地址将显示在浏览器的URL地址栏中。比如:在AJAX网页中当前地址是:http://codinginparadise.org/my_ajax_app ,执行完: dhtmlHistory.add(“helloworld”,”Hello World Data”)后用户将会在浏览器URL地址栏中看到如下的地址:http://codinginparadise.org/my_ajax_app#helloworld
这是用户可以给这个页面做收藏书签,如果用户后来用到这个书签的时候,AJAX应用程序可以读取到:#helloworld值并用它来初始化网页。RSH框架透明的对URL地址值进行编码和解码。

  historyData 在保存比较复杂状态的时候很有用处。这是一个可选的值,他可以是JavaScript的任何类型,比如:数字,字符串,对象等。使用这个功能的一个例子是在一个网页字符编辑器中,如果用户离开当前网页。当用户回退时,浏览器将会把对象返回给历史浏览变动监听器。

  开发者可以给historyData提供带有嵌套对象和用数组表示的复杂JavaScript对象。然而,DOM对象和浏览器支持的脚本对象XMLHttpRequest,并不保存。注意:historyData 并不随书签一起持续化,当浏览器关闭,浏览器缓存被清除和用户清除历史记录的时候,他也就消失了。
posted at 06/03/17 22:36 | 技术文摘 - PHP | 浏览(27) | 引用(1) | 评论

巧用Ajax和RSS做个人门户网站
  为了排遣这段时间的无聊也顺便做个 RSS 应用的练习,决定给自己维护的一个小网站加个首页新闻,浏览器用 Ajax 或者 Ajah 从服务器取新闻异步的显示出来,同时提供 RSS 源供聚合器订阅。
  XMLHTTPRequest 从上次做过一个手机模拟器后就再没碰过,这次在网上搜寻了一番居然发现了一个好东西:http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/ ,一个 Cross-Browser 的 XMLHttpRequest 实现,作者在创作共用条款(Creative Commons License)下发布这个库,只要你不移除脚本中作者的姓名和网址就可以自由使用,就用它了!下载 xmlhttprequest.js 以备后用。

  数据可以保存在数据库中也可以简单的写入到服务器的一个文件中,为了灵活起见我就在 MySQL 中新建一个表放站内新闻了,就这么几个字段:id、title、content、time。新闻录入和从数据库中取数据提供给 Ajax/Ajah 请求这种垃圾代码我就不贴了:-)

  下面是客户端 XMLHTTPRequest 的代码:
阅读全文..
posted at 06/03/17 22:31 | 技术文摘 - PHP | 浏览(33) | 引用(55) | 评论



      << prev    1  2    next >>