记录ASP、PHP等语言的学习历程

实用的 Javascript 代码

[ 2006/07/28 11:25 | by gOxiA ]

      今天成转载日了,好多东西都是从网上找的,呵呵及时地获取新鲜血液补充一下能量还是很有必要的。

  1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
    <table border oncontextmenu=return(false)><td>no</table> 可用于Table
  2. <body onselectstart="return false"> 取消选取、防止复制
  3. onpaste="return false" 不准粘贴
  4. oncopy="return false;" oncut="return false;" 防止复制
  5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
  6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
  7. <input style="ime-mode:disabled"> 关闭输入法
  8. 永远都会带着框架
    <script language="javascript"><!--
    if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
    // --></script>
  9. 防止被人frame
    <SCRIPT LANGUAGE=javascript><!--
    if (top.location != self.location)top.location=self.location;
    // --></SCRIPT>
  10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为
  11. <input type=button value=查看网页源代码
    onclick="window.location = 'view-source:'+ 'http://www.htmlcn.com/'">
  12. 取得控件的绝对位置

    //javascript
    <script language="javascript">
    function getIE(e){
    var t=e.offsetTop;
    var l=e.offsetLeft;
    while(e=e.offsetParent){
    t+=e.offsetTop;
    l+=e.offsetLeft;
    }
    alert("top="+t+"\nleft="+l);
    }
    </script>

    //VBScript
    <script language="VBScript"><!--
    function getIE()
    dim t,l,a,b
    set a=document.all.img1
    t=document.all.img1.offsetTop
    l=document.all.img1.offsetLeft
    while a.tagName<>"BODY"
    set a = a.offsetParent
    t=t+a.offsetTop
    l=l+a.offsetLeft
    wend
    msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
    end function
    --></script>

  13. 光标是停在文本框文字的最后
    <script language="javascript">
    function cc()
    {
    var e = event.srcElement;
    var r =e.createTextRange();
    r.moveStart('character',e.value.length);
    r.collapse(true);
    r.select();
    }
    </script>
    <input type=text name=text1 value="123" onfocus="cc()">
  14. 最小化、最大化、关闭窗口
    <object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Minimize"></object>
    <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Maximize"></object>
    <OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
    <PARAM NAME="Command" value="Close"></OBJECT>

    <input type=button value=最小化 onclick=hh1.Click()>
    <input type=button value=最大化 onclick=hh2.Click()>
    <input type=button value=关闭 onclick=hh3.Click()>
    本例适用于IE

Asp.net下基础应用SQL2000

[ 2006/07/28 11:21 | by gOxiA ]

      对编程开发不敢冒所以也不精通,菜鸟一个但是不看看又不行,今天在网上找了个适合入门者的小资料,感觉很有用,转载至此留作后用。

    以下是有关ASP.net连接SQL Server2000数据库的例程:
    
     Asp.net连接SQL Server2000数据库例程详解:
     <%@ Import Namespace="System.Data" %>
     <%@ Import NameSpace="System.Data.SqlClient" %>
     <script laguage="VB" runat="server">
     sub page_load(sender as Object,e as EventArgs)
     Dim myConnection As SqlConnection
     Dim myCommand As SqlCommand
     Dim ds as DataSet
     '1.connect to sql server
     myConnection = New SqlConnection( "server=localhost;database=DEMOs;uid=username;pwd=Passw0rd" )
     myConnection.Open()
     la1.text="Connection Opened!"
    
     '2.Create a table
     myCommand = New SqlCommand( "CREATE TABLE [test] ([id] [int] IDENTITY (1, 1) NOT NULL ,[name]
    
     [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,[sex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
    
     )", myConnection )
     myCommand.ExecuteNonQuery()
     la2.text="New table created!"
    
     '2 添加纪录
     myCommand = New SqlCommand( "Insert into [test] (name,sex) values( 'gOxiA','男' )",
    
     myConnection )
     myCommand.ExecuteNonQuery()
     la3.text="New Record Inserted!"
    
     '3 更新数据
     myCommand = New SqlCommand( "UPDATE [test] SET name='gOxiA' where name='SuFan'", myConnection )
     myCommand.ExecuteNonQuery()
     la4.text="Record Updated!"
    
     '4 删除数据
     myCommand = New SqlCommand( "delete from [test] where name='gOxiA'", myConnection )
     myCommand.ExecuteNonQuery()
     la5.text="Record Deleted!"
    
     '5 用DataGrid显示数据
     myCommand = New SqlCommand( "select * from [test]", myConnection )
     MyDataGrid.DataSource=myCommand.ExecuteReader()
     MyDataGrid.DataBind()
     end sub
     </script>
     <html>
     <body>
     <asp:label id="la1" runat="server" /><br>
     <asp:label id="la2" runat="server" /><br>
     <asp:label id="la3" runat="server" /><br>
     <asp:label id="la4" runat="server" /><br>
     <asp:label id="la5" runat="server" /><br>
     <ASP:DataGrid id="MyDataGrid" runat="server"
     BorderColor="black"
     BorderWidth="1"
     GridLines="Both"
     CellPadding="3"
     CellSpacing="0"
     Font-Name="Verdana"
     Font-Size="10pt"
     HeaderStyle-BackColor="#aaaadd"
     AlternatingItemStyle-BackColor="#eeeeee"
     >
     </asp:DataGrid>
    
     </body>
     </html> 

XHTML代码规范

[ 2005/12/02 17:13 | by gOxiA ]

1.所有的标记都必须要有一个相应的结束标记

以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:

<br /><img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />

2.所有标签的元素和属性的名字都必须使用小写

与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。

3.所有的XML标记都必须合理嵌套

同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:

<p><b></p>/b>

必须修改为:

[code]<p><b></b>/p>

就是说,一层一层的嵌套必须是严格对称。

4.所有的属性必须用引号""括起来

在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:

<height=80>

必须修改为:

<height="80">

特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用&apos;,例如:

<alt="say&apos;hello&apos;">

5.把所有<和&特殊符号用编码表示

  • 任何小于号(<),不是标签的一部分,都必须被编码为& l t ;
  • 任何大于号(>),不是标签的一部分,都必须被编码为& g t ;
  • 任何与号(&),不是实体的一部分的,都必须被编码为& a m p;

注:以上字符之间无空格。

6.给所有属性赋一个值

XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:

<td nowrap> <input type="checkbox" name="shirt" value="medium" checked>

必须修改为:

<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium" checked="checked">

7.不要在注释内容中使“--”

“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的:

<!--这里是注释-----------这里是注释-->

用等号或者空格替换内部的虚线。

<!--这里是注释============这里是注释-->

head区的其他设置

[ 2005/12/02 17:04 | by gOxiA ]

收藏夹小图标

将下面的代码嵌入head区:

<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

为搜索引擎准备的内容

  • 允许搜索机器人搜索站内所有链接。如果你想某些页面不被搜索,推荐采用robots.txt方法
<meta content="all" name="robots" />
  • 设置站点作者信息
<meta name="author" content=goxia@vipmail.maytide.net,五月时节 />
  • 设置站点版权信息
<meta name="Copyright" content="www.maytide.net,自由版权,授权转载" />
  • 站点的简要介绍(推荐)
<meta name="description" content="MDaemon,Microsoft,五月时节Blog服务" />
  • 站点的关键词(推荐)
<meta content="goxia,maytide" name="keywords" />

调用样式表

[ 2005/12/02 16:47 | by gOxiA ]

外部调用样式表

在以前,通常采用2种方法使用样式表:
  • 页面内嵌法:就是将样式表直接写在页面代码的head区。类似这样:

<style type="text/css"> <!-- body { background : white ; color : black ; } --> </style>

  • 外部调用法:将样式表写在一个独立的.css文件中,然后在页面head区用类似以下代码调用。

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

双表法调用样式表

查看某些符合标准站点的原代码,可能会看到,在调用样式表的地方有如下2句:

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" /> <style type="text/css" media="all">@import url( css/style01.css );</style>

为什么要写两次呢?

实际上一般情况下用外联法调用(就是第一句)就足够了。这里使用双表调用只是一种示例。其中的"@import"命令用于输入样式表。而"@import"命令在netscape 4.0版本浏览器是无效的。也就是说,当希望某些效果在netscape 4.0浏览器中隐藏,在4.0以上或其它浏览器中又显示的时候,可以采用"@import"命令方法调用样式表。

定义语言编码

[ 2005/12/02 16:44 | by gOxiA ]

定义语言编码,类似这样:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

为了被浏览器正确解释和通过W3C代码校验,所有的XHTML文档都必须声明它们所使用的编码语言,一般使用gb2312(简体中文),制作多国语言页面也有可能用Unicode、ISO-8859-1等,根据需要定义。

通常这样定义就可以。但是要补充说明的是,XML文档并不是这样定义语言编码的,XML的定义方式如下:

<?xml version="1.0" encoding="gb2312"?>

针对老版本浏览器,需要添加以下代码以保证各种浏览器都能正确解释页面:

<meta http-equiv="Content-Language" content="gb2312" />

注意:在上面声明语句的最后,看到有一个斜杠"/",这和以前的HTML4.0的代码写法不同。原因是XHTML语法规则要求所有的标识都必须有开始和结束。例如<body>和</body>、<p>和</p>等,对于不成对的标识,要求在标识最后加一个空格,然后跟一个"/"。例如<br>写成<br />、<img>写成<img />,加空格的原因是避免代码连在一起浏览器不识别。

DOCTYPE声明好以后,接下来的代码是:

<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">

通常HTML4.0的代码只是<html>,这里的"xmlns"是什么呢?

这个"xmlns"是XHTML namespace的缩写,叫做"名字空间"声明。名字空间是什么作用呢?阿捷自己的理解是:

由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。

XHTML是HTML向XML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是http://www.w3.org/1999/xhtml

后面的lang="gb2312",指定你的文档用简体中文。

  • 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  • 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  • 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

DIV+CSS布局入门

[ 2005/12/02 14:57 | by gOxiA ]

      我实际上在网页设计与编程上是一个菜鸟,曾经也想深入学习一下可感觉自己没有那个天分,可是发现自己却经常要和它们打交道,自己的网站、论坛都是自己在维护,总想将其优化并设计更加美观些,此时我知道了DIV+CSS,利用这种布局可以有效地解决因表格布局而导致的页面载入速度慢的问题。今天在一个论坛看到有人转发了一片非常有用的帖子——《DIV+CSS布局入门》,感觉对自己特别有用,于是转录于此。

 

   

语法格式

setvar

setvar元素用于指定在当前上下文内容中的变量的值,从侧面影响正在运行的任务

<setvar  name="name"  value="value" / >

small

使用小字体显示文本

<small>  文本(text)  </small>

strong

进一步加强文本的增强显示

<strong>  文本(text)  </strong>

table

table元素与tr元素、td元素一起,可用来创建能容纳文本和图像的表格,并可设置表格各列中文本和图像的对齐方式

<table  align="alignment"  title="label" 

       columns="n"/>

<table  align="alignment"  title="label" 

       columns="n">

              内容(content)

</table>

td

td元素用于规定表格单元格的内容

<td>  单元格内容(content)  </td>

template

template元素用于为当前卡片组中的所有卡片定义一个模板,统一规定卡片的某些参数

<template  onenterforward="href" 

       onenterbackward="href"  ontimer="href" >

             内容(content)

</template>

timer

timer元素用于设定一个定时器,可以延时显示卡片组、卡片,或实现WML程序的等待操作,或在卡片组和卡片之间实现切换以取得动画效果

<timer  name="variable"  value="value" / >

tr

tr元素用于定义表格的行

<tr> 

       <td>  单元格内容(content)  </td>

</tr>

u

显示文本时增加下划线

<u>  文本(text)  </u>

wml

wml元素用于定义一个卡片组,并通过<wml></wml>标签包含和封装该卡片组中的所有卡片及信息

<wml  xml:lang="lang" >

   内容(content)

</wml>

分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]