找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1828|回复: 1

请教下:一个AJAX登陆的效果!

[复制链接]
发表于 2009-12-29 13:36:33 | 显示全部楼层 |阅读模式
假设当前访问路径是: www.123.com
在该页上的登陆连接:
  1. <a href="javascript:popCoverDiv();javascript:Do.Login('Login','http://www.123.com/user/login.php');">登陆</a>
复制代码

这样能正常加载登陆窗口;

登陆窗口加载成功

登陆窗口加载成功


而我将用户中心绑定了二级域名后,即连接代码改为如下:
  1. <a href="javascript:popCoverDiv();javascript:Do.Login('Login','http://member.123.com/login.php');">登陆</a>
复制代码

这样的话登陆的窗口就加载不成功:

登陆窗口加载不成功

登陆窗口加载不成功


其实第一种加载成功也只限于该域名下,但是要到比如某频道为:mus.123.com 这样的地方的时候,加载也是不成功的。

故特来向大家讨教下,以下是JS代码:

  1. //顶部登陆状态
  2. /*
  3. function CheckLoginh(){
  4.         if (getcookiename("userid")){
  5.                 document.getElementById("unmenulogin").style.display="none";
  6.                 document.getElementById("ismenulogin").style.display="";
  7.                 document.getElementById("ismenuloginname").innerHTML=getcookiename("username");
  8.                 document.getElementById("ismenuusergroup").innerHTML=getcookiename("groupname");
  9.                 document.getElementById("ismenuuserpoint").innerHTML=getcookiename("userpoint");
  10.                 document.getElementById("ismenulasttime").innerHTML=getcookiename("LastTimes");
  11.         }else{
  12.                 document.getElementById("ismenulogin").style.display="none";
  13.                 document.getElementById("unmenulogin").style.display="";
  14.         }
  15. }
  16. */
  17. function CheckLoginh(){
  18.           var taget_obj = document.getElementById('loginform');
  19.           myajax = new DedeAjax(taget_obj,false,false,'','','');
  20.           myajax.SendGet2("http://member.123.com/logins.php");
  21.           DedeXHTTP = null;
  22.         }
  23.        


  24. //输入框状态
  25. function inputAutoClear(ipt)
  26. {
  27.         ipt.onfocus=function()
  28.         {if(this.value==this.defaultValue){this.value='';}};
  29.         ipt.onblur=function()
  30.         {if(this.value==''){this.value=this.defaultValue;}};
  31.         ipt.onfocus();
  32. }
  33. //提示层setTimeout("document.all.tishi.style.visibility = 'hidden'","50000");

  34. function G(id){
  35.        return document.getElementById(id);
  36.      };
  37.      
  38.     function GC(t){
  39.        return document.createElement(t);
  40.     };
  41.    
  42.     String.prototype.trim = function(){
  43.               return this.replace(/(^\s*)|(\s*$)/g, '');
  44.     };
  45.    
  46.     function isIE(){
  47.           return (document.all && window.ActiveXObject && !window.opera) ? true : false;
  48.     }
  49.    
  50.     function getBodySize(){
  51.            var bodySize = [];
  52.         with(document.documentElement) {
  53.          bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;
  54.          bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;
  55.         }
  56.            return bodySize;
  57.     }

  58. //显示隐藏层
  59. function put_layer(no)
  60. {
  61.          if ( !!no )
  62.          {
  63.                  obj = document.getElementById("put_layer" + no);
  64.                  if ( obj.style.display != "none" ) {
  65.                     obj.style.display = "none";
  66.                 }
  67.                 else {
  68.                    obj.style.display = "block";
  69.                 }
  70.           }
  71. }



  72.   function popCoverDiv(){
  73.    if (G("cover_div")) {
  74.     G("cover_div").style.display = '';
  75.    } else {
  76.     var coverDiv = GC('div');
  77.     document.body.appendChild(coverDiv);
  78.     coverDiv.id = 'cover_div';
  79.    
  80.     with(coverDiv.style) {
  81.      position = 'absolute';
  82.      background = '#000000';
  83.      left = '0px';
  84.      top = '0px';
  85.      var bodySize = getBodySize();
  86.      width = bodySize[0] + 'px'
  87.      height = bodySize[1] + 'px';
  88.      zIndex = 98;
  89.      if (isIE()) {
  90.       filter = "Alpha(Opacity=80)";
  91.      } else {
  92.       opacity = 0.8;
  93.      }
  94.     }
  95.    }
  96. }

  97. //登陆AJAX
  98. var  AddJs= {"JsNull":function() {}
  99. }
  100. AddJs.JsNull();
  101. function AjaxObj()
  102. {
  103.         var XmlHttp;
  104.         try {
  105.                 XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
  106.         } catch (e) {
  107.                 try {
  108.                         XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  109.                 } catch (e) {
  110.                         try {
  111.                                 XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  112.                         } catch (e) {
  113.                                 XmlHttp = false;
  114.                         }
  115.                 }
  116.         }
  117.         if (!XmlHttp)
  118.         {
  119.                 try {
  120.                         XmlHttp = new XMLHttpRequest();
  121.                 } catch (e) {
  122.                         XmlHttp = false;
  123.                 }
  124.         }
  125.         return XmlHttp;
  126. }
  127. var Dialog = {
  128.     "init":""
  129.     ,"dialogBox":null
  130.     ,"defWidth":320
  131.     ,"width":0

  132.     ,"show":function(title,url) {
  133.         if (this.dialogBox == null) {
  134.             this.create();
  135.         }
  136.         this.setWidth(this.defWidth);
  137.         this.dialogBox.style.display = "block";
  138.         this.setTitle(title);
  139.                 this.setLoading();
  140.          Drag.init(document.getElementById("draghead"), this.dialogBox);
  141.         this.dialogBox.onDragEnd=function(x,y){
  142.           Dialog.dialogBox.ox=x-Dialog.getRange().left;
  143.           Dialog.dialogBox.oy=y-Dialog.getRange().top;
  144.         }
  145.         this.center();  
  146.         this.loadContent(url);
  147.     }
  148.     ,"setWidth":function(width) {
  149.         if (width != this.width) {
  150.             this.width = width;
  151.             this.dialogBox.style.width = width+"px";
  152.             this.center();
  153.         }
  154.     }
  155.     ,"loading":null
  156.     ,"setLoading":function() {
  157.         this.setContent("<p class='loading'><img src='/images/loading17.gif' border='0' alt='数据加载中...' /></p>");
  158.     }
  159.     ,"clearLoading":function() {
  160.         if (this.loading != null) {
  161.             clearTimeout(this.loading);
  162.             this.loading = null;
  163.         }
  164.     }

  165.     ,"loadContent":function(url) {   
  166.         var time = "?"+(new Date().getTime());
  167.    
  168.                 var Ajax = new AjaxObj();
  169.                 Ajax.open("POST",url, true);
  170.                 Ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
  171.                 Ajax.onreadystatechange=function() {
  172.                         if (Ajax.readyState==4&&Ajax.status==200) {
  173.                         document.getElementById("dialogBox_content").innerHTML=Ajax.responseText;
  174.                         }
  175.                 }
  176.                 Ajax.send(null);
  177.     }

  178.     ,"setContent":function(content) {
  179.         document.getElementById("dialogBox_content").innerHTML = "<div class='dialogBox_Content'>"+content+"</div>";   
  180.     }

  181.     ,"close":function() {

  182.         if (this.dialogBox != null) {
  183.             this.dialogBox.style.display = "none";
  184.                         G("cover_div").style.display = 'none';
  185.         }
  186.     }

  187.     ,"setTitle":function(html) {
  188.         document.getElementById("dialogBox_title").innerHTML = html;
  189.     }
  190.    
  191.     ,"create":function() {
  192.         var d = document.createElement("DIV");
  193.         d.id = "dialogBox";
  194.         var html = '<div class="dialogBox" style="cursor:pointer"><div id="draghead" class="title"><h2 id="dialogBox_title"></h2><span><a onclick="" href="javascript:Dialog.close();" ><img src="/templates/login02_div.gif" style="cursor:pointer" height="34" width="20" border="0" alt="关闭窗口" /></a></span></div><div class="content" id="dialogBox_content"></div></div>';
  195.         d.innerHTML = html;
  196.                
  197.                 document.body.appendChild(d);
  198.         this.dialogBox = document.getElementById("dialogBox");
  199.                 this.center();
  200.         window.onscroll=Dialog.onBodyScroll;
  201.     }
  202.     ,"onBodyScroll":function(){
  203.         var range=Dialog.getRange();
  204.         var top = (range.top+Dialog.dialogBox.oy);
  205.         var left = (range.left+Dialog.dialogBox.ox);
  206.         if (top < 5) { top  = 5; }
  207.         if (left< 5) { left = 5; }
  208.         Dialog.dialogBox.style.top=top +"px";
  209.         Dialog.dialogBox.style.left=left +"px";
  210.     }
  211.     ,"center":function() {
  212.         var range=Dialog.getRange();
  213.         var left = (range.width-this.width)/2;
  214.         var top  = (range.height-300)/2 ;
  215.         this.dialogBox.ox= left;
  216.         this.dialogBox.oy= top;
  217.         if (range.left > left) { left = range.left+left;}
  218.         if (range.top  > top ) { top  = range.top +top;}
  219.         this.dialogBox.style.left = left + "px";
  220.         this.dialogBox.style.top = top + "px";
  221.     }
  222.     ,"move":function(left, top) {
  223.         this.dialogBox.ox= left;
  224.         this.dialogBox.oy= top;

  225.         this.dialogBox.style.left = left + "px";
  226.         this.dialogBox.style.top = top + "px";
  227.     }
  228.     ,"getRange":function() {
  229.         var top     = document.documentElement.scrollTop;
  230.         var left    = document.documentElement.scrollLeft;
  231.         var height  = document.documentElement.clientHeight;
  232.         var width   = document.documentElement.clientWidth;
  233.         if (top==0 && left==0 && height==0 && width==0) {
  234.             top     = document.body.scrollTop;
  235.             left    = document.body.scrollLeft;
  236.             height  = document.body.clientHeight;
  237.             width   = document.body.clientWidth;
  238.         }
  239.         return  {top:top  ,left:left ,height:height ,width:width } ;
  240.     }
  241. }
  242. var Drag={
  243.         "obj":null,
  244.         "init":function(a, aRoot){
  245.       a.onmousedown=Drag.start;
  246.       a.root = aRoot;
  247.       if(isNaN(parseInt(a.root.style.left)))a.root.style.left="0px";
  248.       if(isNaN(parseInt(a.root.style.top)))a.root.style.top="0px";
  249.       a.root.onDragStart=new Function();
  250.       a.root.onDragEnd=new Function();
  251.       a.root.onDrag=new Function();
  252.                 },
  253.         "start":function(a){       
  254.                         var b=Drag.obj=this;
  255.                         a=Drag.fixE(a);
  256.                         var c=parseInt(b.root.style.top);
  257.                         var d=parseInt(b.root.style.left);
  258.                         b.root.onDragStart(d,c,a.clientX,a.clientY);
  259.                         b.lastMouseX=a.clientX;
  260.                         b.lastMouseY=a.clientY;
  261.                         document.onmousemove=Drag.drag;
  262.                         document.onmouseup=Drag.end;
  263.                         return false;
  264.                 },       
  265.         "drag":function(a){
  266.                         a=Drag.fixE(a);
  267.                         var b=Drag.obj;
  268.                         var c=a.clientY;
  269.                         var d=a.clientX;
  270.                         var e=parseInt(b.root.style.top);
  271.                         var f=parseInt(b.root.style.left);
  272.                         var h,g;
  273.                         h=f+d-b.lastMouseX;
  274.                         g=e+c-b.lastMouseY;
  275.                         b.root.style.left=h+"px";
  276.                         b.root.style.top=g+"px";                       
  277.                         b.lastMouseX=d;
  278.                         b.lastMouseY=c;
  279.                         b.root.onDrag(h,g,a.clientX,a.clientY);
  280.                         return false;
  281.                 },
  282.         "end":function(){                       
  283.                         document.onmousemove=null;
  284.                         document.onmouseup=null;
  285.                         Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style.left),parseInt(Drag.obj.root.style.top));
  286.                         Drag.obj=null;
  287.                 },
  288.         "fixE":function(a){
  289.                         if(typeof a=="undefined")a=window.event;
  290.                         if(typeof a.layerX=="undefined")a.layerX=a.offsetX;
  291.                         if(typeof a.layerY=="undefined")a.layerY=a.offsetY;
  292.                         return a;
  293.                 }
  294. };
  295. var Do = {"init": ""
  296. ,"Login":function(sTitle,sUrl) {
  297.         Dialog.show( sTitle, sUrl);
  298.     }
  299. }


  300. //cookie读写脚本

  301. function GetCookieVal(offset)
  302. {
  303. var endstr = document.cookie.indexOf (";", offset);
  304. if (endstr == -1)
  305. endstr = document.cookie.length;
  306. return unescape(document.cookie.substring(offset, endstr));
  307. }

  308. function SetCookie(name, value)
  309. {
  310. var expires = new Date();
  311. expires.setTime(expires.getTime() + 12 * 30 * 24 * 60 * 60 * 1000);
  312. document.cookie = name + "=" + value + ";expires=" + expires.toGMTString();
  313. }

  314. function DelCookie(name)
  315. {
  316. var exp = new Date();
  317. exp.setTime (exp.getTime() - 1);
  318. var cval = GetCookie (name);
  319. document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
  320. }

  321. function GetCookie(name)
  322. {
  323. var arg = name + "=";
  324. var alen = arg.length;
  325. var clen = document.cookie.length;
  326. var i = 0;
  327. while (i < clen)
  328. {
  329. var j = i + alen;
  330. if (document.cookie.substring(i, j) == arg)
  331. return GetCookieVal (j);
  332. i = document.cookie.indexOf(" ", i) + 1;
  333. if (i == 0) break;
  334. }
  335. return null;
  336. }



  337. // Smooth Scroll Back to Top
  338. var scrollToTop = function(){ $('a[@href=#top]').click(function(){ backToTop(); return false;} ) };
  339. function backToTop() {
  340.     var x1 = x2 = x3 = 0;
  341.     var y1 = y2 = y3 = 0;

  342.     if (document.documentElement) {
  343.         x1 = document.documentElement.scrollLeft || 0;
  344.         y1 = document.documentElement.scrollTop || 0;
  345.     }

  346.     if (document.body) {
  347.         x2 = document.body.scrollLeft || 0;
  348.         y2 = document.body.scrollTop || 0;
  349.     }

  350.     x3 = window.scrollX || 0;
  351.     y3 = window.scrollY || 0;

  352.     var x = Math.max(x1, Math.max(x2, x3));
  353.     var y = Math.max(y1, Math.max(y2, y3));

  354.     window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

  355.     if (x > 0 || y > 0) {
  356.         window.setTimeout("backToTop()", 30);
  357.     }
  358. }

  359. //网页报错
  360. function openwinx(url,name,w,h)
  361. {
  362. window.open(url,name,"top=100,left=400,width=" + w + ",height=" + h + ",toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no")
  363. }
  364. //显示隐藏分页层
  365. function ss_layer(no)
  366. {
  367.          if ( !!no )
  368.          {
  369.                  obj = document.getElementById("ss_layer" + no);
  370.                 obj2 = document.getElementById("sss" + no);
  371.                  if ( obj.style.display != "none" ) {
  372.                 obj2.className='feny';
  373.                     obj.style.display = "none";
  374.                        
  375.                 }
  376.                 else {
  377.                  obj2.className='fenyon';
  378.                    obj.style.display = "block";
  379.                 }
  380.           }
  381. }

  382. // 显示/隐藏工具导航层
  383. function onClickDiv(DivId)
  384. {
  385.   if(document.all[DivId].style.display=='none')
  386.    { document.all[DivId].style.display=''; }
  387.    else
  388.    { document.all[DivId].style.display='none'; }
  389.    return 0;
  390. }


复制代码

[[i] 本帖最后由 136com 于 2009-12-29 15:18 编辑 ]
 楼主| 发表于 2009-12-29 14:22:15 | 显示全部楼层
兄弟伙些帮我看下吧
谢谢咯!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备19000417号-2 )

GMT+8, 2021-4-18 16:11 , Processed in 0.058391 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表