ASP.NET教程(六)Javascript技巧

Posted on 2005-05-18 15:38  爱克软件  阅读(424)  评论(0)    收藏  举报

一、      关于JavaScript

-1、 使用热键
       <body onkeydown="if(event.keyCode==13)query_data()">
0、  调用JS弹出对话框
 
       Page.Response.Write("<script language=javascript>alert('密码错误!');window.history.back(-1);</script>");
       Page.Response.End();
 
1、  调用JS程序要把"()"加上,例如:checkinput()
2、  在HTML中调用JS的代码片如下:
              <script language="javascript">
                     function closeWnd()
                     {
                            window.close();
                     }
              </script>
              <input type="button" value='关闭' onclick='closeWnd()'>
3、  关于Document对象的使用:如果你的窗体(名称是Form1)中有一个控件(名称是Keyword)那么,引用方法为:                        Document.form1.Keyword.value
4、  相关示例见test_js.sln项目
5、  使用状态条:
              <a href="tpage.htm" onMouseOver="window.status='Just another stupid link...'; return true">
              input type="button" name="look" value="?" onclick="statbar('这是状态条喔
               (statusbar) !');">
              <input type="button" name="erase" value="d)" onclick="statbar('');">
 
6、使用日期的例子:
       <script language="LiveScript">
       <!-- Hiding
         today = new Date()
         document.write("?( ??/ ",today.getHours(),":",today.getMinutes())
         document.write("<br>?) ?­ : ", today.getMonth()+1,"/",today.getDate(),"/",today.getYear());
       // end hiding contents -->
       </script>
 
7、产生随机数
       <script language="LiveScript">
       function RandomNumber() {
         today = new Date();
         num = Math.abs(Math.sin(today.getTime()));
         return num; 
       }
       </script>
 
8、打开一个新窗口:
<SCRIPT LANGUAGE="javascript">
  <!--
         window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行
  -->
</SCRIPT> 
  
  参数解释:
  
<SCRIPT LANGUAGE="javascript"> js脚本开始;
  window.open 弹出新窗口的命令;
  'page.html' 弹出窗口的文件名;
  'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
  height=100 窗口高度;
  width=400 窗口宽度;
  top=0 窗口距离屏幕上方的象素值;
  left=0 窗口距离屏幕左侧的象素值;
  toolbar=no 是否显示工具栏,yes为显示;
  menubar,scrollbars 表示菜单栏和滚动栏。
  resizable=no 是否允许改变窗口大小,yes为允许;
  location=no 是否显示地址栏,yes为允许;
  status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
</SCRIPT> js脚本结束
 
9、自动关闭窗口
       <script language="JavaScript">
                function closeit()
                {
                       setTimeout("self.close()",10000) //毫秒
                }
         </script>
10、打开窗口之Cookies
       回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定 没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(
  有解决的办法吗?Yes!  Follow me.我们使用cookie来控制一下就可以了。
  首先,将如下代码加入主页面HTML的<HEAD>区:
 
  <script>
  function openwin(){
  window.open("page.html","","width=200,height=200")
  }
  function get_cookie(Name)
    {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0)
       {
                offset = document.cookie.indexOf(search)
                if (offset != -1)
              {
                       offset += search.length
                       end = document.cookie.indexOf(";", offset);
                       if (end == -1)
                       end = document.cookie.length;
                       returnvalue=unescape(document.cookie.substring(offset, end))
                }
         }
  return returnvalue;
  }  
  function loadpopup()
    {
         if (get_cookie('popped')=='')
       {
                openwin()
                document.cookie="popped=yes"
         }
  }
  </script>
 
  然后,用<body onload="loadpopup()">(注意不是openwin而是loadpop啊!)替换主页面中原有的<BODY>这一句即可。你可以试着刷新一下这个页面或重新进 入该页面,窗口再也不会弹出了。真正的Pop-Only-Once!
 
  写到这里弹出窗口的制作和应用技巧基本上算是完成了!
 
11、前进后退和定位
<html>
<body>
<FORM NAME="buttonbar">
     <INPUT TYPE="button" VALUE="Back" onClick="history.back()">
     <INPUT TYPE="button" VALUE="JS- Home" onClick="location='script.html'">
     <INPUT TYPE="button" VALUE="Next" onCLick="history.forward()">
</FORM>
</body>
</html>
12、Cookies全部搞定
<script language="JavaScript">
<!--
var bVisitedToday = false;
 
var lastVisit = GetCookie("lastVisit");
if (lastVisit != null)
{
  lastVisit = 1 * lastVisit;
  var lastHere = new Date(lastVisit); 
  var rightNow = new Date();
 
  if(lastHere.getYear() == rightNow.getYear()
     && lastHere.getMonth() == rightNow.getMonth()
     && lastHere.getDate() == rightNow.getDate())
  {
     bVisitedToday = true;
  }
}
 
if(bVisitedToday == false)
{
  setLastlastVisitCookie();
  window.location="http://www.thehungersite.com/"
}
else
{
  //window.location="about:blank"
}
 
function getCookieVal (offset)
{
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)
{
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}
function SetCookie (name, value)
{
  var argv = SetCookie.arguments;
  var argc = SetCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
    ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain=" + domain)) +
    ((secure == true) ? "; secure" : "");
}
function setLastlastVisitCookie ()
{
  var rightNow = new Date();
  var expdate = new Date();
  expdate.setTime (expdate.getTime() + 1 * (24 * 60 * 60 * 1000)); //+1 day
  SetCookie ("lastVisit", rightNow.getTime(), expdate, "/");
}
function ResetCookie()
{
  SetCookie("lastVisit", 0, null, "/");
}
// -->
</script>

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3