想到C/S架构的软件登录框在屏幕中央,想想能否在网站后台需要登录的地方也打开个输入框窗口,帐号密码正确后打开页面呢(前人也许早已实现,这里只是说说自己做的测试,不要拍砖噢)

 

马上就开始实验.想想在web开发时,javascript打开窗体的命令有window.open(),还有个模式窗口(showModalDialog),还有一种思路就是直接在打开页面时将页面改变大小(调整为登录框大小).

要用到javascript脚本来控制窗体,就先补补这方面的命令.(临时抱佛脚),现在的搜索功能太强大了,随便baidu一下,google一下,资源一篇接一篇的,感慨啊,信息时代就是快啊.言规正传,为了普及js知识我将javascriptwindow对象相关说明就copy到这里了,大家也可以去看看其他教程,温习一下

 

 

在温习时看到window对象里有个resizeTo方法改变指定大小; moveTo方法移动到指定位置就是它们俩了.(没事偷着乐会)

新建一页面1.htm

录入如下简单代码:

 


    
   window.resizeTo(400300);
  window.moveTo(
600200);

    
</script>

 

 

窗口大小是改变了,随后的问题是,如何在打开本页时将本页的menutoolbar等统统隐掉,查了半天资料,只怪自己学艺不精(书到用时方恨少),顺便说个题外话,大家要老记毛主席的话“好好学习,天天向上”。我们不能就此打住啊,这条不行,我们走别的路。

下面用到window.open方法。

 

用一小实例说明window.open参数,注:网上这个例子用烂了.
window.open ("page.html""newwindow""height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no");

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为允许;

 

 

普及完了之后,开始动工,主要想法是用一页面做跳板,直接open一个窗口,打开子窗口的同时,关闭父窗口。新建2.htm(跳板页面),3.htm(登录页面)

 

.htm代码如下:
  <script type="text/javascript">
    
    window.open (
"3.htm""newwindow""height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") ;
     window.opener
=null;
        window.close();
    
    
</script>
3.htm是登录框代码(将1.htm去掉script代码)

 

 

效果向我们想的方向进了一小步,打开时没有什么采单栏,工具栏,地址栏了.大家一看代码,就知道了,,js脚本只在IE上运行正常,发现问题,马上想方法,js对客户端浏览器类型进行判断,不用IE的直接打开登录页面(locaction.href).

 

简单代码如下:

 

 


  if(navigator.userAgent.indexOf("Firefox")!=-1)
  {
        OtherOpenWindow();
  }
  
else  if(navigator.userAgent.indexOf("Maxthon")!=-1
  {
     OtherOpenWindow();
  }
   
else  if(navigator.userAgent.indexOf("Safari")!=-1
  {
     OtherOpenWindow();
  }
   
else  if(navigator.userAgent.indexOf("Camino")!=-1
  {
     OtherOpenWindow();
  }
   
else  if(navigator.userAgent.indexOf("Konqueror")!=-1
  {
     OtherOpenWindow();
  }
   
else  if(navigator.userAgent.indexOf("MSIE")!=-1
  {
    IEOpenWindow();
  }
  
else
  {
    OtherOpenWindow();
  }
  
  
   
function IEOpenWindow()
   {
    window.open (
"3.htm""newwindow""height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") ;
     window.opener
=null;
        window.close();
   }
   
function OtherOpenWindow()
   {
    location.href
="3.htm";
   }
    
    
</script>

 

User-Agent参数在这里就不在介绍了,大家可以用Fidder 分别看下各浏览器的User-Agent参数值.

 

模式方法略了,有兴趣的大家可以自己去测试了.主是就是用模式窗口中登录后,返回主页面(2.htm)时,要对返回结果进行判断,成功跳转到3.htm,失败就跳到错误页面(error.htm).

 

总结:略.

 

 实例下载 

补充:

昨天去了 ublue.liao 的博客,进到他的精灵部落,效果不错.题外话..,哈..

 

 

参考:

http://www.diybl.com/course/1_web/javascript/jsjs/20071226/94568.html

http://blog.sina.com.cn/s/blog_49df2d0b01009epq.html

 

 

 

相关文章:

  • 2021-11-13
  • 2021-12-29
  • 2021-06-29
  • 2021-05-30
  • 2022-02-27
  • 2021-11-30
  • 2021-09-03
猜你喜欢
  • 2021-07-12
  • 2021-11-15
  • 2021-11-21
相关资源
相似解决方案