疯狂代码,大型网站架构系列(全)
- 格式:doc
- 大小:119.50 KB
- 文档页数:12
40个经典网页代码1231. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标4右键5<table border oncontextmenu=return(false)><td>no</table> 可用于6Table782. <body onselectstart="return false"> 取消选取、防止复制9103. onpaste="return false" 不准粘贴11124. oncopy="return false;" oncut="return false;" 防止复制13145. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自15己的图标16176. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出18你的图标19207. <input style="ime-mode:disabled"> 关闭输入法21228. 永远都会带着框架23<s cript language="Javas cript"><!--24if (window == top)top.location.href =25"frames.htm"; //frames.htm为框架网页26// --></s cript>27289. 防止被人frame29<s cript LANGUAGE=JAVAs cript><!--30if (top.location != self.location)top.location=self.location;31// --></s cript>323310. 网页将不能被另存为34<nos cript><iframe src=*.html></iframe></nos cript>353611. <input type=button value=查看网页源代码37onclick="window.location = "view-source:"+38"";">394012.删除时确认41<a href="javas cript:if(confirm("确实要删除吗?"))42location="boos.asp?&areyou=删除&page=1"">删除</a>434413. 取得控件的绝对位置45//Javas cript46<s cript language="Javas cript">47function getIE(e){48var t=e.offsetTop;49var l=e.offsetLeft;50while(e=e.offsetParent){51t+=e.offsetTop;52l+=e.offsetLeft;53}54alert("top="+t+"/nleft="+l);55}56</s cript>57//VBs cript58<s cript language="VBs cript"><!--59function getIE()60dim t,l,a,b61set a=document.all.img162t=document.all.img1.offsetTop63l=document.all.img1.offsetLeft64while a.tagName<>"BODY"65set a = a.offsetParent66t=t+a.offsetTop67l=l+a.offsetLeft68wend69msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"70end function71--></s cript>727314. 光标是停在文本框文字的最后74<s cript language="javas cript">75function cc()76{77var e = event.srcElement;78var r =e.createTextRange();79r.moveStart("character",e.value.length);80r.collapse(true);81r.select();82}83</s cript>84<input type=text name=text1 value="123" onfocus="cc()">858615. 判断上一页的来源87javas cript:88document.referrer899016. 最小化、最大化、关闭窗口91<object id=hh192classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">93<param name="Command" value="Minimize"></object>94<object id=hh2 95classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">96<param name="Command" value="Maximize"></object>97<OBJECT id=hh3 98classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">99<PARAM NAME="Command" VALUE="Close"></OBJECT>100<input type=button value=最小化 onclick=hh1.Click()>101<input type=button value=最大化 onclick=hh2.Click()>102<input type=button value=关闭 onclick=hh3.Click()>103本例适用于IE10410517.屏蔽功能键Shift,Alt,Ctrl106<s cript>107function look(){108if(event.shiftKey)109alert("禁止按Shift键!"); //可以换成ALT CTRL110}111document.onkeydown=look;112</s cript>11311418. 网页不会被缓存115<META HTTP-EQUIV="pragma" CONTENT="no-cache">116<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, 117must-revalidate">118<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 119或者<META HTTP-EQUIV="expires" CONTENT="0">12012119.怎样让表单没有凹凸感?122<input type=text style="border:1 solid #000000">123或124<input type=text style="border-left:none;125border-right:none; border-top:none; border-bottom:1261 solid #000000"></textarea>12712820.<div><span>&<layer>的区别?129<div>(division)用来定义大段的页面元素,会产生转行130<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行131<layer>是ns的标记,ie不支持,相当于<div>13213321.让弹出窗口总是在最上面:134<body onblur="this.focus();">13513622.不要滚动条?137让竖条没有:138<body style="overflow:scroll;overflow-y:hidden">139</body>140让横条没有:141<body style="overflow:scroll;overflow-x:hidden">142</body>143两个都去掉?更简单了144<body scroll="no">145</body>14614723.怎样去掉图片链接点击后,图片周围的虚线?148<a href="#" onFocus="this.blur()">149<img src="logo.jpg" border=0></a>15015124.电子邮件处理提交表单152<form name="form1" method="post"153action="mailt****@***.com" enctype="text/plain">154<input type=submit>155</form>15615725.在打开的子窗口刷新父窗口的代码里如何写?158window.opener.location.reload()15916026.如何设定打开页面的大小161<body onload="top.resizeTo(300,200);">162打开页面的位置<body onload="top.moveBy(300,200);">16316427.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动165<STYLE>166body167{background-image:url(logo.gif); background-repeat:no-repeat; 168background-position:center;background-attachment: fixed}169</STYLE>17017128. 检查一段字符串是否全由数字组成172<s cript language="Javas cript"><!--173function checkNum(str){return str.match(//D/)==null}174alert(checkNum("1232142141"))175alert(checkNum("123214214a1"))176// --></s cript>17717829. 获得一个窗口的大小179document.body.clientWidth; document.body.clientHeight18018130. 怎么判断是否是字符182if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");183else alert("全是字符");18418531.TEXTAREA自适应文字行数的多少186<textarea rows=1 name=s1 cols=27187onpropertychange="this.style.posHeight=this.scrollHeight"> 188</textarea>18919019132. 日期减去天数等于第二个日期192<s cript language=Javas cript>193function cc(dd,dadd)194{195//可以加上错误处理196var a = new Date(dd)197a = a.valueOf()198a = a - dadd * 24 * 60 * 60 * 1000199a = new Date(a)200alert(a.getFullYear() + "年" + (a.getMonth() + 1)201+ "月" + a.getDate() + "日")202}203cc("12/23/2002",2)204</s cript>20520633. 选择了哪一个Radio207<HTML><s cript language="vbs cript">208function checkme()209for each ob in radio1210if ob.checked then window.alert ob.value211next212end function213</s cript><BODY>214<INPUT name="radio1" type="radio" value="style" checked>Style 215<INPUT name="radio1" type="radio" value="barcode">Barcode 216<INPUT type="button" value="check" onclick="checkme()">217</BODY></HTML>21821934.脚本永不出错220<s cript LANGUAGE="Javas cript">221<!-- Hide222function killErrors() {223return true;224}225window.onerror = killErrors;226// -->227</s cript>22822935.ENTER键可以让光标移到下一个输入框230<input onkeydown="if(event.keyCode==13)event.keyCode=9"> 23123236. 检测某个网站的链接速度:233把如下代码加入<body>区域中:234<s cript language=Javas cript>235tim=1236setInterval("tim++",100)237b=1238var autourl=new Array()239autourl[1]=""240autourl[2]=""241autourl[3]=""242autourl[4]=""243autourl[5]=""244function butt(){245document.write("<form name=autof>")246for(var i=1;i<autourl.length;i++)247document.write("<input type=text name=txt"+i+" size=10 248value=测试中……> =》<input type=text249name=url"+i+" size=40> =》<input type=button value=GO 250onclick=window.open(this.form.url"+i+".value)><br>") 251document.write("<input type=submit value=刷新></form>") 252}253butt()254function auto(url){255document.forms[0]["url"+b].value=url256if(tim>200)257{document.forms[0]["txt"+b].value="链接超时"}258else259{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}260b++261}262function run(){for(var i=1;i<autourl.length;i++)263document.write("<img src=http://"+autourl+"/"+Math.random()+" 264width=1 height=1265onerror=auto("http://";+autourl+"")>")}266run()</s cript>26726837. 各种样式的光标269auto :标准光标270default :标准箭头271hand :手形光标272wait :等待光标273text :I形光标274vertical-text :水平I形光标275no-drop :不可拖动光标276not-allowed :无效光标277help :?帮助光标278all-scroll :三角方向标279move :移动标280crosshair :十字标281e-resize282n-resize283nw-resize284w-resize285s-resize286se-resize287sw-resize28828938.页面进入和退出的特效290进入页面<meta http-equiv="Page-Enter"291content="revealTrans(duration=x, transition=y)">292推出页面<meta http-equiv="Page-Exit"293content="revealTrans(duration=x, transition=y)">294这个是页面被载入和调出时的一些特效。
完整的动态网页代码,图片无缝滚动代码<table width="880" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td height="115" valign="middle"><div id=demo style="OVERFLOW: hidden; WIDTH: 100%; HEIGHT: 115px"><table cellpadding=0 align=left border=1 cellspace="0" bordercolor="#ffffff"><tr bordercolor="#FFFFFF"><td id=demo11><table width='100%' cellpadding='0' cellspacing='2' border='0'><tr><td align='center'><a href="scml.asp" target="_blank"><a href='img/1.jpg'><img src='imgs/1.jpg' width='140' height='115' border="0"></a></td><td align='center'><a href="scml.asp" target="_blank"> <a href='img/2.jpg'><img src='imgs/2.jpg' width='140' height='115' border='0'></a></td><td align='center'><a target="_blank" href="scml.asp"> <a href='img/3.jpg'><img src='imgs/3.jpg' width='140' height='115' border='0'></a></td><td align='center'><a href="scml.asp" target="_blank"> <a href='img/4.jpg'><img src='imgs/4.jpg' width='140' height='115' border='0'></a></td><td align='center'><a href="scml.asp" target="_blank"> <a href='img/5.jpg'><img src='imgs/5.jpg' width='140' height='115' border='0'></a></td><td align='center'><a href="scml.asp" target="_blank"> <a href='img/6.jpg'><img src='imgs/6.jpg' width='140' height='115' border='0'></a></td></tr></table></td><td id=demo12></td></tr></table></div><SCRIPT>var speed=15demo12.innerHTML=demo11.innerHTMLfunction Marquee11(){if(demo12.offsetWidth-demo.scrollLeft<=0)demo.scrollLeft-=demo11.offsetWidthelse{demo.scrollLeft++}}var MyMar1=setInterval(Marquee11,speed)demo.onmouseover=function() {clearInterval(MyMar1)}demo.onmouseout=function() {MyMar1=setInterval(Marquee11,speed)}</SCRIPT></td></tr></table>时间代码:1<div id="jnkc"></div><script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+'星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);</script></div>2<SCRIPT language=JavaScript src="js/openfullwin.js"></SCRIPT>3<div id="jnkc" class="d12"><script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);</script></div>4.日期:<div id="jnkc" class="d12"><script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);</script></div>5.显示日期<script language="JavaScript" type="text/javascript">today=new Date();function initArray(){this.length=initArray.arguments.lengthfor(var i=0;i<this.length;i++)this[i+1]=initArray.arguments[i] }var d=new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");document.write("<font color=red style='font-size:10pt;font-family: 宋体'> ","今天是:",today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日",d[today.getDay()+1],"</font>" );</script>天气预报的代码一、天气预报的代码:<div align="center"><iframe src=" /weather.htm" width="160" height="60"frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>二、天气预报的代码:<div align="center"><iframe src=" /weather.htm" width="160" height="60"frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>天气预报<iframe src='/weather.htm' width='168' height='50' frameborder='0' marginwidth='0' marginheight='0' scrolling='no'></iframe>新闻频道代码新闻代码<iframe border=0 name=I1 marginwidth=0marginheight=0 src="/iframe/o/allnews/input/index.htm" frameborder=No width=760 scrolling=no height=12></iframe>一.新闻糸统1.查询开始的代码<%Set rs = Server.CreateObject ("ADODB.Recordset")sql = "Select top 6 * from news order by id desc"rs.Open sql,conn,1,1%>2.循环开始代码<%if rs.EOF and rs.BOF thenresponse.write ("暂时还没有文章")elseDo Until rs.EOF%>3.循环结束代码<%rs.MoveNextLoopend if%>4.查询结束代码<%rs.closeSet rs = Nothingconn.closeset conn=Nothing%>******************************************************************************二.新闻目录1.循环开始代码<%Const MaxPerPage=18dim totalPutdim CurrentPagedim TotalPagesdim jdim sqlif Not isempty(request("page")) thencurrentPage=Cint(request("page"))elsecurrentPage=1end ifset rs=server.CreateObject("adodb.recordset")sql="select * from news order by id"rs.open sql,conn,1,1a=1if err.number<>0 thenresponse.write "数据库中无数据"end ifif rs.eof And rs.bof thenResponse.Write "<p align='center' class='contents'> 暂没信息!</p>"elsetotalPut=rs.recordcountif currentpage<1 thencurrentpage=1end ifif (currentpage-1)*MaxPerPage>totalput thenif (totalPut mod MaxPerPage)=0 thencurrentpage= totalPut \ MaxPerPageelsecurrentpage= totalPut \ MaxPerPage + 1end ifend ifif currentPage=1 thenshowContentshowpage totalput,MaxPerPage,"newsml.asp" elseif (currentPage-1)*MaxPerPage<totalPut then rs.move (currentPage-1)*MaxPerPagedim bookmarkbookmark=rs.bookmarkshowContentshowpage totalput,MaxPerPage,"newsml.asp" elsecurrentPage=1showContentshowpage totalput,MaxPerPage,"newsml.asp" end ifend ifend ifsub showContentdim i,ji=0%><% do while not rs.eof %>2.循环结束代码<% i=i+1j=j+1if i>=MaxPerPage then Exit Doif i mod 2= 0 then response.write("</tr><tr>") rs.movenextlooprs.closeset rs=nothing%>3.翻页执行代码<%End SubFunction showpage(totalnumber,maxperpage,filename)Dim nIf totalnumber Mod maxperpage=0 Thenn= totalnumber \ maxperpageElsen= totalnumber \ maxperpage+1End IfResponse.Write "<form method=Post action="&filename&">"Response.Write "<p align='center' class='contents'> "If CurrentPage<2 ThenResponse.Write "<font class='contents'>首页上一页</font> "ElseResponse.Write "<a href="&filename&"?page=1 class='contents'>首页</a> "Response.Write "<a href="&filename&"?page="&CurrentPage-1&" class='contents'>上一页</a> "End IfIf n-currentpage<1 ThenResponse.Write "<font class='contents'>下一页尾页</font>"ElseResponse.Write "<a href="&filename&"?page="&(CurrentPage+1)&" class='contents'>" Response.Write "下一页</a> <a href="&filename&"?page="&n&" class='contents'>尾页</a>" End IfResponse.Write "<font class='contents'> 页次:</font><font class='contents'>"&CurrentPage&"</font><font class='contents'>/"&n&"页</font> " Response.Write "<font class='contents'> 共有"&totalnumber&"个信息"Response.Write "<font class='contents'>转到:</font><input type='text' name='page' size=2 maxlength=10 class=smallInput value="¤tpage&">"Response.Write " <input type='submit' class='button' value='GO' name='cndok'></form>" End Function%>****************************************************************************** 三.显示新闻的初始代码<!--#include file="conn.asp" --><%dim idid=request.QueryString("id")set rs=server.CreateObject("adodb.recordset")sql="select * from news where id="&id&"" rs.open sql,conn,1,1%>2.释放代码<%rs.closeset rs=nothingconn.closeset conn=Nothing%>。
HTML代码教程教程一、基本标志1.<html></html>2.<head></head>3.<body></body>4.<title></title>Html是英文HyperText Markup Language 的缩写,中文意思是“超文本标志语言”,用它编写的文件(文档)的扩展名是.html或.htm,它们是可供浏览器解释浏览的文件格式。
您可以使用记事本、写字板或FrontPage Editor 等编辑工具来编写Html文件。
Html语言使用标志对的方法编写文件,既简单又方便,它通常使用<标志名></标志名>来表示标志的开始和结束(例如<html></html>标志对),因此在Html文档中这样的标志对都必须是成对使用的。
在此教程中,我先讲一下Html的基本标志:1.<html></html><html>标志用于Html文档的最前边,用来标识Html文档的开始。
而</html>标志恰恰相反,它放在Html文档的最后边,用来标识Html文档的结束,两个标志必须一块使用。
2.<head></head><head>和</head>构成Html文档的开头部分,在此标志对之间可以使用<title>< /title>、<script></script>等等标志对,这些标志对都是描述Html 文档相关信息的标志对,<head></head>标志对之间的内容是不会在浏览器的框内显示出来的。
两个标志必须一块使用。
3.<body></body><body></body>是Html文档的主体部分,在此标志对之间可包含<p>、< /p>、<h1>、</h1>、<br>、<hr>等等众多的标志,它们所定义的文本、图像等将会在浏览器的框内显示出来。
网页设计代码大全Background refers to the background image of a webpage。
while bgcolor refers to the background color。
Text refers to the color of the font。
while link。
alink。
XXX clickable text。
XXX has been clicked。
XXX。
XXX to the left and top margins of the webpage.The format for titles is XXX。
where n ranges from h1 toh6.The align attribute can be set to left。
right。
center。
bottom。
or top。
To format text。
use the text tag。
To modify the font。
use tags such as。
for bold。
for underline。
for italic。
for larger text。
and。
XXXTo create paragraphs。
use the。
tag and set the align attribute to left。
right。
or center。
To force a line break。
use。
Preformatted text can be created using the。
tag。
Horizontal lines can be inserted using the。
tag。
with attributes such as width。
size。
align。
and color。
To create a XXX。
use the。
tag。
For lists。
unordered lists can be created using the。
⼤型⽹站技术架构1. ⼤型⽹站架构演化发展历程1)初始阶段的⽹站架构应⽤程序、数据库、⽂件等所有资源都在⼀台服务器上。
Linux+PHP+Apache+MySQL。
初始阶段的⽹站架构2)应⽤服务和数据服务分离使⽤三台服务器:应⽤服务器、⽂件服务器、数据库服务器。
应⽤服务和数据服务分离3)使⽤缓存改善⽹站性能⽹站使⽤缓存4)使⽤应⽤服务器集群改善⽹站的并发处理能⼒应⽤服务器集群部署5)数据库读写分离数据库读写分离6)使⽤反向代理和CDN加速⽹站响应⽹站使⽤反向代理和CDN加速访问7)使⽤分布式⽂件系统和分布式数据库系统使⽤分布式⽂件和分布式数据库系统8)使⽤NoSQL和搜索引擎使⽤NoSQL和搜索引擎9)业务拆分垂直拆分,分⽽治之,按业务拆分成不同的应⽤。
业务拆分10)分布式服务⽔平拆分,提取公共组件,中台战略。
分布式服务2. ⼤型⽹站架构模式1)分层⽔平切分:应⽤层、服务层、数据层。
2)分割垂直切分:按业务切分。
3)分布式分布式应⽤和服务、分布式数据和存储、分布式计算、分布式锁、分布式⽂件系统。
4)集群5)缓存6)异步7)冗余8)⾃动化9)安全3. ⼤型⽹站核⼼架构要素软件架构:系统的各个重要组成部分及其关系构成了系统的架构,这些组成部分可以是具体的功能模块,也可以是⾮功能的设计与决策,他们相互关系组成⼀个整体,共同构成了软件系统的架构。
1)性能性能优化,前端:浏览器缓存、页⾯压缩、CDN缓存、反向代理缓存。
后端:缓存、异步、集群、多线程、改善内存管理、数据库索引、SQL优化。
2)可⽤性⾼可⽤的⼿段:冗余、负载均衡集群。
3)伸缩性关注点:⾮功能性需求(技术需求)。
衡量架构伸缩性的主要标准:是否可以⽤多台服务器构建集群,是否容易向集群中添加新的服务器,新服务器是否可以提供和原服务器⽆差别的服务,集群可容纳的总的服务器数量是否有限制。
4)扩展性关注点:功能需求。
衡量架构扩展性的主要标准:增加新的业务产品时,是否可以实现对现有产品透明⽆影响,不需要改动或者很少改动既有业务功能就可以上线新产品,不同产品之间是否很少耦合,⼀个产品改动对其他产品功能⽆影响。
xhtml教程:XHTML疯狂代码 / ĵ:http://HtmlJiaoCheng/Article21549.htmlXHTMLXHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。
目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考 )。
XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。
因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。
简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
概述[[Image:W3C valid XHTML 1.0 icon.png|frame|right| 该图标由W3C提供,用于放置在通过 [ W3C标记验证器]的XHTML文档中。
]]XHTML是当前HTML版的继承者。
HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的[[语法]]越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。
因此产生了由[[DTD]]定义规则,语法要求更加严格的XHTML。
大部分常见的浏览器都可以正确地解析XHTML,即使老一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。
也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。
当然,从[[HTML]]完全转移到XHTML,还需要一个过程。
跟[[CSS]](Cascading Style Sheets,层叠式样式表)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用,比如[[MathML]]、[[SVG]]。
从[[HTML]]到XHTML过渡的变化比较小,主要是为了适应[[XML]]。
一:文字加粗倾斜的代码◆文字加粗的代码是:<b>你好</b>◆文字倾斜的代码是:<i>你好!</i>◆底线字:<u></u>二:文字链接代码如果您想点击某处文字会连接到另外一个网页的效果,这是超链接,代码是这样:<a href="网站地址";>共享空间</a>如果要点了这个文字以后重新打开一个窗口的话,代码是:<a href="网站地址";target="_blank">共享空间</a>三:在网站上放图片的代码如果你看到一个好看的图片想放到网站上,代码是这样的:<img src="/Article/UploadFiles/201103/20110307151132733.gif";width="150"height="100">后面的数字调节图片的尺寸大小。
四:图片链接代码如果要点一下图片就能打开一个网站的链接代码是这样的:<a href="";><img src="/Article/UploadFiles/201103/20110307151132733.gif";width="150"height="100"><如果要点一下图片就能打开一个网站的链接,并且重新打开一个窗口。
代码是这样的:<a href=ask-tj.target="_blank"><img src="/Article/UploadFiles/201103/20110307151132733.gif";width="150"height="100"></a>上面的数字都能调节图片尺寸大小。
Html网页设计代码设计第一技术其次: )-—--—--—-———-—-———----——-——-—-—--—1)贴图:<;img src=";图片地址&quot;&gt;2)加入连接:&lt;a href=&quot;所要连接的相关地址";&gt;写上你想写的字&lt;/a &gt;1)贴图:〈img src="图片地址”>2)加入连接:<a href=”所要连接的相关地址"〉写上你想写的字〈/a>3)在新窗口打开连接:<a href="相关地址”target=”_blank”〉写上要写的字</a〉消除连接的下划线在新窗口打开连接:〈a href="相关地址" style="text-decoration:none" target="_blank”〉写上你想写的字</a〉4)移动字体(走马灯):<marquee>写上你想写的字〈/marquee>5)字体加粗:〈b〉写上你想写的字〈/b〉6)字体斜体:〈i>写上你想写的字</i〉7)字体下划线:〈u〉写上你想写的字〈/u>8)字体删除线:〈s>写上你想写的字〈/s〉9)字体加大: <big〉写上你想写的字</big>10)字体控制大小:〈h1>写上你想写的字〈/h1> (其中字体大小可从h1-h5,h1最大,h5最小)11)更改字体颜色:〈font color=”#value”〉写上你想写的字</font>(其中value值在000000与ffffff(16位进制)之间12)消除连接的下划线:〈a href=”相关地址" style="text-decoration:none">写上你想写的字</a>13)贴音乐:〈embed src=音乐地址width=300 height=45 type=audio/mpeg autostart="false”>14)贴flash: <embed src="flash地址”width=”宽度" height="高度"〉15)贴影视文件:〈img dynsrc="文件地址”width="宽度" height=”高度" start=mouseover>16)换行:〈br〉17)段落:〈p>段落〈/p>18)原始文字样式:〈pre>正文</pre〉19)换帖子背景:<body background=”背景图片地址”>20)固定帖子背景不随滚动条滚动:〈body background=”背景图片地址" body bgproperties=fixed〉21)定制帖子背景颜色:<body bgcolor=”#value"〉(value值见10)22)帖子背景音乐:<bgsound=”背景音乐地址" loop=infinite>23)贴网页:〈iframe src=”相关地址”width=”宽度" height="高度”〉〈/iframe>/—————--—-—---—--—-———----—-———--—-—-—--—HTML特效代码----———-—-—--———---————--—-——---/1。
<body></body> 段落标记background:网页背景图像<p>…</p> bgcolor:网页背景颜色align:left right center text:字体颜色强制换行标记link:可链接文字的色彩<br></br> alink:被鼠标点中时可链接文字的颜色预排格式标记vlink:已经单击过的可链接文字的颜色<pre></pre> leftmargin:页面左边距插入水平线标记topmargin:页面上边距<hr width=“宽度” size=“厚度”标题格式标记align=“对齐方式” color=“颜色”Alink:被鼠标点中时可链接文字的颜色noshacle:除阴影 > Vlink:已经单击过的可链接文字的颜色文本缩标记Leftmargin:页面左边距<blockquote>…</blockquote> Topmargin:页面上边距列表标记标题格式标记 1.无序<hn>标题</hn> (范围(h1-h6))<ul type= “加重符号类型”> align:left(左) right(右) center(中) <li type=“加重符号类型”>列1 bottom(底) top(顶) <li type=“加重符号类型”>列2 文字格式标记………<font face=“字体” size=“字号”</ul> color=“颜色”>文字</font> type:disc● circle○ square■字形设置标记 2.有序<b>字形</b> 粗 <u>字形</u> 下划线<ol type=“序号类型” stare=“起始号码”> <i>字形</i> 斜 <big>字形</big>文字增大<li type=“加重符号类型”>列1 <strike>字形</strike> 删除线<li type=“加重符号类型”>列2<small>字形</small> 文字减小………<sup>字形</sup> 上标 <sub>字形<sub>下标</ol> <tt>字形</tt> 宽体 <em>字形</em> 强调 3.定义<bink>字形<bink> 闪烁 <cite>字形<cite>斜<dl> <dt>条目1<dd>条目1的说明<strong>字形</strong> 特别强调………</dl> 文字滚动标记<img>的图像标记<marquee>文字滚动</marquee> <img> behavior(滚动方式):alternate(交替) sic:图片的路径 scroll(往复) slide(一次) longdesc:详细说明bgcolor:背景颜色alt:替代说明direction(滚动方向):up(上) down(下) width和height:图片的宽和高 left(左) right(右) border:图片外围边框的宽度height和width:滚动的区域hspace和vspace:水平和垂直方向空白loop:循环的次数值是-1 align:left right center scrollamount:滚动的速度加快<img>的视频标记scrolldelay:滚动的速度延迟src:静态图像的路径hspace和vspace:滚动的水平垂直空间dynsrc:视频的路径表格标记loop:infinite或-1(反复播放) <table> start(设置何时播放视频文件):fileopen和mouseover <caption>表格标题</caption>→align controls:加播放控制条<tr>→align和valign loopdelay:两次播放的间隔<th>表头1</th> <th>表头2</th>…背景音乐标记</tr> <bgsound> <tr> src:音乐地址 loop:次数(-1) <td>(width和nowrap)表项1</td>…多媒体标记<embed></embed></tr> src:多媒体的地址………height和width:播放的区域<table> hidden:播放面板的显示和隐藏值true和false summary:简要说明 bgcolor:表格的背景颜色autostart:是否自动播放(true和false) background:表格的背景图像 border:表格线的粗细loop:是否循环(true和false) width和height表格的宽和高 align:左、右、中超链接标记valign:顶、(middle)中、底 bordercolor:表格线的颜色<a>…</a> nowrap:禁止表格单元格内的内容自动换行href:链接到的目标的地址rowspan=n n=1 为一行单元格target:链接的目标窗口colspan=n n=1 为一列的合并self(原) blank(新) parent(上) top(整)表单标记1.表单标记<form><form name= “form_name” method=“method” action=“url” enctype=“value” target=“target_win”>……</form>name:设置表单的名称 method=处理程序从表单中获得信息的方式其取值为get和post action:定义表单处理程序(asp、cgi等程序)的位置(相对位置或绝对位置)enctype:设置表单资料的编码方式 target:设置返回信息的显示窗口2.输入标记<input><input name=“field_name” type=“type_name”>name:设置输入区域的名称type:设置输入区域的类型(有10种)①文本域text(maxlength:文本域的最大输入字符 size:文本域的宽度 value:初始默认值)②密码域password(maxlength:密码域的最大输入字符 size:密码域的宽度)③文件域file(input type=“file”)④复选框checkbox((checked)表示此项被默认选中value:选中项目后传送到服务器端的值)⑤单选框radio(同4)⑥普通按钮button(value值代表显示在按钮上的文字)⑦“提交”按钮submit(value=“button_text”)⑧“重设”按钮reset(value=“button_text”)⑨图像域image(src:设置图片的路径)⑩隐藏域hidden(input type=“hidden”)3.菜单和列表的标记<select>和<option><select name=“name” size=“value” multiple><option value=“value” selected>选项一<option value=“value”>选项二………</select>size:显示的选项数目(multiple:不用赋值就可以直接加入到标记中,就成多选了)<optiop>→value:用来给<optiop>指定的选项赋值这个值是要传送到服务器上的(selected):指定初始默认的选项4.文本框标记<textarea><textarea></textarea>name:名称 rows:设置文本框的行数 cols:文本框的列数框架标记1.框架集标记<frameset><framese cols=“value,value,…” rows=“value,value,…” framespacing=“value”bordercolor=“color_value”>……</frameset>cols:左右分割窗口(用“,”分割) rows:上下分割(用“,”分割)framespacing:框架集的边框宽度bordercolor:框架集的边框颜色2.框架标记<frame src=“file_name” name=“frame_name” scrolling=“value” noresize>…</frame>src:框架显示的文件路径 name:框架的名称(用来供超文本链接标记)scrolling:滚动条是否显示值(yes , no , auto)3.不支持框架标记<noframes>………</noframes>css1.css称为“层叠样式表”或“级联样式表”2.css的基本语法:html标记{标记属性:属性值;标记属性:属性值;…}列如:b,i,h1{color:red}3.css的实现方法(有三种)①在head内实现(叫内部样式表他写在html的<head></head>里面的)内部样式表要用style标记(<style type=“text/css”> h1{color:red}</style>)②在body内实现(叫内嵌样式他在body中实现,主要是在标记中引用,只对所在的标记中有效)③在文件外实现(叫外部样式表)<link href=“style.css” rel=“stylesheet”>4.三种css实现方法的比较样式的优先级依次是内嵌样式,内部样式表,外部样式表使用外部样式时相对于前两种有以下优点:②样式代码可以复用,一个外部css文件,可以被多个网页共用②便于修改,只需修改css文件,不用修改每个网页③提高了网页的显示速度Welc ome To Dow nloa d !!!欢迎您的下载,资料仅供参考!。
网页常用代码大全10-07-26 05:13 发表于:《草人推手团》分类:未分类onselectstart ="return false"onselect="document.selection.empty()"oncopy="document.selection.empty()" onbeforecopy="returnfalse"onmouseup="document.selection.empty()">2、消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px"GALLERYIMG="no">3、防止点击空链接时,页面往往重置到页首端。
代码"javascript :void(null)"代替原来的"#"标记4、如何避免别人把你的网页放在框架中<script language="javascript"><!--if (self!=top) --></script>5、页面定时刷新<meta http-equiv="Refresh" content="秒" >6、页面定时转向新的地址<meta http-equiv="refresh" content="秒;URL=url">7、关闭窗口,这个是不会弹出提示直接关的:把如下代码加入<body>区域中<OBJECT id=closes type="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><param name="Command" value="Close"> </object><script language="javascript">function shutwin()</script><a href="javascript :shutwin();">关闭本窗口</a>经验甚于理论,事实胜于雄辩。
疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题前言:这两天机器坏了,正在送修中,写个系列的大型网站架构的文章,希望对有志在互联网做出一番事业的站长朋友们一些帮助。
注意:这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。
我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。
文入正题:首先讨论一下大型网站需要注意和考虑的问题A. 海量数据的处理。
众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个索引就可以搞定。
对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何级的增长的。
在这个时候我们对于一个表的select和update 的时候(还不说多表联合查询)的成本的非常高的。
B. 数据并发的处理在一些时候,2.0的CTO都有个尚方宝剑,就是缓存。
对于缓存,在高并发高处理的时候也是个大问题。
在整个应用程序下,缓存是全局共享的,然而在我们进行修改的时候就,如果两个或者多个请求同时对缓存有更新的要求的情况下,应用程序会直接的死掉。
这个时候,就需要一个好的数据并发处理策略以及缓存策略。
另外,就是数据库的死锁问题,也许平时我们感觉不到,死锁在高并发的情况下的出现的概率是非常高的,磁盘缓存就是一个大问题。
C. 文件存贮的问题对于一些支持文件上传的2.0的站点,在庆幸硬盘容量越来越大的时候我们更多的应该考虑的是文件应该如何被存储并且被有效的索引。
常见的方案是对文件按照日期和类型进行存贮。
但是当文件量是海量的数据的情况下,如果一块硬盘存贮了500个G的琐碎文件,那么维护的时候和使用的时候磁盘的Io就是一个巨大的问题,哪怕你的带宽足够,但是你的磁盘也未必响应过来。
如果这个时候还涉及上传,磁盘很容易就over了。
也许用raid和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。
所以我们不得不承认,文件存贮是个很不容易的问题D. 数据关系的处理我们可以很容易的规划出一个符合第三范式的数据库,里面布满了多对多关系,还能用GUID来替换INDENTIFY COLUMN 但是,多对多关系充斥的2.0时代,第三范式是第一个应该被抛弃的。
必须有效的把多表联合查询降到最低。
E. 数据索引的问题众所周知,索引是提高数据库效率查询的最方面最廉价最容易实现的方案。
但是,在高UPDA TE的情况下,update和delete付出的成本会高的无法想想,笔者遇到过一个情况,在更新一个聚焦索引的时候需要10分钟来完成,那么对于站点来说,这些基本上是不可忍受的。
索引和更新是一对天生的冤家,问题A,D,E这些是我们在做架构的时候不得不考虑的问题,并且也可能是花费时间最多的问题,F. 分布式处理对于2.0网站由于其高互动性,CDN实现的效果基本上为0,内容是实时更新的,我们常规的处理。
为了保证各地的访问速度,我们就需要面对一个绝大的问题,就是如何有效的实现数据同步和更新,实现各地服务器的实时通讯有是一个不得不需要考虑的问题。
G. Ajax的利弊分析成也AJAX,败也AJAX,AJAX成为了主流趋势,突然发现基于XMLHTTP的post和get 是如此的容易。
客户端get或者post到服务器数据,服务器接到数据请求之后返回来,这是一个很正常的AJAX请求。
但是在AJAX处理的时候,如果我们使用一个抓包工具的话,对数据返回和处理是一目了然。
对于一些计算量大的AJAX请求的话,我们可以构造一个发包机,很容易就可以把一个webserver干掉。
H. 数据安全性的分析对于HTTP协议来说,数据包都是明文传输的,也许我们可以说我们可以用加密啊,但是对于G问题来说的话,加密的过程就可能是明文了(比如我们知道的QQ,可以很容易的判断他的加密,并有效的写一个跟他一样的加密和解密方法出来的)。
当你站点流量不是很大的时候没有人会在乎你,但是当你流量上来之后,那么所谓的外挂,所谓的群发就会接踵而来(从qq一开始的群发可见端倪)。
也许我们可以很的意的说,我们可以采用更高级别的判断甚至HTTPS来实现,注意,当你做这些处理的时候付出的将是海量的database,io以及CPU 的成本。
对于一些群发,基本上是不可能的。
笔者已经可以实现对于百度空间和qq空间的群发了。
大家愿意试试,实际上并不是很难。
I. 数据同步和集群的处理的问题当我们的一台databaseserver不堪重负的时候,这个时候我们就需要做基于数据库的负载和集群了。
而这个时候可能是最让人困扰的的问题了,数据基于网络传输根据数据库的设计的不同,数据延迟是很可怕的问题,也是不可避免的问题,这样的话,我们就需要通过另外的手段来保证在这延迟的几秒或者更长的几分钟时间内,实现有效的交互。
比如数据散列,分割,内容处理等等问题K.数据共享的渠道以及OPENAPI趋势Openapi已经成为一个不可避免的趋势,从google,facebook,myspace到海内校内,都在考虑这个问题,它可以更有效的留住用户并激发用户的更多的兴趣以及让更多的人帮助你做最有效的开发。
这个时候一个有效的数据共享平台,数据开放平台就成为必不可少的途径了,而在开放的接口的情况保证数据的安全性和性能,又是一个我们必须要认真思考的问题了。
当然还有更多需要考虑的问题,我这里就写一个最需要考虑的问题,欢迎补充。
下一篇文章将针对问题A,提出具体的解决方案和思路待续( 和同步发布,转载请注明出处)疯狂代码,大型网站架构系列之二,底层架构概论书结上回,/Y uanchuang/Article10919.html首先澄清上篇中关于几个朋友的评论。
上篇疯狂代码介绍的基于AJAX的攻击很多人提出疑问,比如不能跨域,减轻负担之类。
Ajax是通过简单的GET和POST进行数据传递的,采用HTTPDEBUGGER,抓取数据,然后采用如下方案,顺便写个示例的攻击代码.比传统的webform,我们更容易构造一些,其实对于webform和ajax的处理和发包过程是一样的,ajax数据量相对小,速度也快一些。
结合SharpPcap和HttpWebRequest我们构造一个合理的正常的IP数据包过去,代码很长,我们用伪代码简单的表达一下。
request.CreateUrl(Ajax处理页面);request.Method=”GetORPost”;request.refere=”网页来源”;SharpPcap.SetLinkConnection(伪造IP地址);String content = request.GetResponseStream() 如果作为一个多线程的应用程序对对方的WEB 构成批量发包的话(假如是DEDECMS),足可以把Dedecms的数据库搞垮文入正题:对于上回书提到要解决问题A,我们先讲解一下电信公司ADSL的布局方案。
机器上没有装VISIO,我简单的用文字描述一下流程。
Adsl用户Aè输入用户名密码è远程连接到账户数据库(在天津)è账户数据库连接计费数据库并返回状è如果成功,连接PPPOE服务器,并进一步连接计费数据库è认证服务并连接。
这里没有什么特别的地方,但是和qq通讯服务是一样的,就是采用了统一的用户验证服务器,同时对于用户验证的信息数据库是只读的,我们从其中可以想到什么吗?以上是个简单的例子,下面开始谈具体的架构策略,首先对于上篇提到的问题A,我们首先以用户数据库为例来做解释和要求。
首先做用户量估算需求,假如我们做的是学术社区,那么这个用户量不会很大,可能我们不需要考虑这个,对于用户量的级别,我们暂时把用户量级别定为三种,百万级别(M)和千万界别(S),以及亿万级别(Q),并考虑用户登录验证以及查询常用的操作,对M和S进行扩充以及了解。
众所周知,在这个情况下,对于用户数据的负载其实并非可行而不可行的问题,而是如何最大化的保证查询和更新以及各个服务器之间的数据同步。
这里我们不再讲解如何优化如何索引,只介绍架构初期的方案,下面介绍的方案如果涉及全表查询,可以采用分区视图的方案,大家可以具体搜索相关资料。
对于M级别来说,现有的DBMS经过合理的布局完全可以满足需求。
我们需要解决的问题的关键其实是处理IO方面的问题,处理方案相对简单一些,对数据库的FILE文件分磁盘存贮(不是分区,是不同的硬盘),根据负载量大小,我们可以适当的控制硬盘的数量和文件分区的数量。
对于S级别,上个处理方案已经不能完全满足需求了,这个时候我们需要对注册和入库的流程进行简单的修改了,解决方案是数据散列和分区视图的概念,具体概念大家去google一下,我不详细说明了。
我们常用的方案有三种。
第一种是等容扩充法,在用户注册控制的基础上,保证每个库的用户容量不超过500万,超过之后入第二个库,以此类推,这个方案可以保证系统有效的扩充性,但不能保证数据被有效的索引。
第二种就是共区索引方案,其实和第一种方案有异曲同工的之说但是讲第一种方案进行了合理的优化,按照用户名进行分库存贮。
比如我们可以建立26的数据库,按照用户名的索引来控制用户数据入哪个库。
假如用户名是CrazyCoder,那么就讲该用户名的数据存放在用户表C中,在数据存贮的时候可以很方便的根据用户名进行相应的数据查询,方案二可以有效的解决数据索引问题。
方案三是一个更具模型化的方案,结合方案一和方案二,进行用户ID的编码,不是INDENTIFY Cloumn,我们用一种序列化的方案将用户名以编码的形式存贮,比如用户名是CrazyCoder,我们的编码方案就是通过算法进行数字化,将CrazyCoder按照C,R,A,….存贮为数字索引,然后进行分区存贮,数字类型的数据在数据库中可以更有效的被查询和被更新和共享,结合方案一和方案二这个就是方案三。
对于Q级别。
数据量已经是足够海量了,这个时候无论用哪种方案都是一个让人头大的数据,不能简单的用查询的方案来处理了,可以参考S级别的进行处理。
但这个时候我们采用的方案是根据用户活跃度的权值结合数据量进行临时数据表的存放。