12月 30

公司系统的ajax不错,很简洁,个人重新修改了一下,记录如下

Ajax.js

function BaseAjax() {
            this.xml = false;
            this.GetXmlHttp = function() {
                try { this.xml = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
                    try { this.xml = new ActiveXObject("Microsoft.XMLHTTP"); }
                    catch (e2) { this.xml = false; };
                };
                if (!this.xml && typeof XMLHttpRequest != 'undefined') this.xml = new XMLHttpRequest();
            };
            this.GetXmlHttp();
            var xmlHttp = this.xml;
            var ajax = this;
            var callBack = null;
            this.updatePage = function() {
                if (xmlHttp.readyState == 4) {
                    var response = xmlHttp.responseText;
                    if (callBack != null && typeof callBack == "function") callBack(response);
                };
            };
            this.toQueryString = function(json) {
                var query = "";
                if (json != null) for (var param in json) query += param + "=" + escape(json[param]) + "&";
                return query;
            };
            this.invoke = function(opName, params, pageCallBack, method) {
                var _flag = false; // is use domain.qidian.com
                var domainUrl = "";
                if (xmlHttp) {
                    var query = "";
                    query += this.toQueryString(params);
                    query = query.substring(0, query.length – 1);
                    callBack = pageCallBack;

                    var url = "ajax.ashx?op=" + opName + "&" + query;
                    if (_flag) url = domainUrl + url;
                    xmlHttp.onreadystatechange = ajax.updatePage;
                    xmlHttp.open("GET", url, true);
                    xmlHttp.send(null);

                };
            };
        };
        var Ajax = {};

test.aspx页面JS

 <script src="ajax.js" type="text/javascript"></script>
    <script>      
        Ajax = {
            Test: function(id) {
            new BaseAjax().invoke("test", { "id": id }, arguments[1]);
            },
            Json: function() {
            new BaseAjax().invoke("json", {}, arguments[0]);
            }
        }
        var My = {
            Test: function(id) {
                var callBack = function(result) {
                    alert(result.toString());
                };
                Ajax.Test(id, callBack);
            },
            Json: function() {
                var callBack = function(result) {
                    try {
                        result = eval("(" + result + ")");
                    } catch (e) { };
                    alert(result.d1);
                    document.write(result.d2);
                };
                Ajax.Json(callBack);
            }
        };
    </script>

test.aspx 调用方法

      <input id="Button2" type="button" value="button" onclick="My.Test();" />
     
        <input id="Button1" type="button" value="button" onclick="My.Json();" />

ajax.ashx 后台响应

context.Response.ContentType = "text/plain";
        string op = context.Request.QueryString["op"];
        string result = string.Empty;
       
        switch (op) {
            case "test":
                result = "我是测试结果";
                break;
            case "json":
                result = "{'d1':'1','d2':'2','d3':'3'}";//.Replace("\r\n", "").Replace("\r", "").Replace("\n", "").Replace("\\", "\\\\").Replace("'", "\\'");;
                break;
            default:
                break;
        }
     context.Response.Write(result);

written by ocean

12月 18

//iframe高度自适应
function IFrameReSize(iframename) {  
    
var pTar = document.getElementById(iframename);  
    
if (pTar) {  //ff
        if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight) {  
             pTar.height
= pTar.contentDocument.body.offsetHeight;  
         }
//ie
        else if (pTar.Document && pTar.Document.body.scrollHeight) {  
             pTar.height
= pTar.Document.body.scrollHeight;  
         }  
    }  
}
//iframe宽度自适应
function IFrameReSizeWidth(iframename) {  
    
var pTar = document.getElementById(iframename);  
    
if (pTar) {  //ff
        if (pTar.contentDocument && pTar.contentDocument.body.offsetWidth) {  
             pTar.width
= pTar.contentDocument.body.offsetWidth;  
         }  
//ie
        else if (pTar.Document && pTar.Document.body.scrollWidth) {  
             pTar.width
= pTar.Document.body.scrollWidth;  
         }  
    }  
}

使用方法如下:

<iframe src="Main.aspx" scrolling="no" frameborder="0" height="100%" id="mainFrame" width="100%" onload=’IFrameReSize("mainFrame");IFrameReSizeWidth("mainFrame");’></iframe>

written by ocean

12月 03

今天在公司遇见个莫名其妙的css问题

后来公司的美工告诉我

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

这个必须加

很重要,会影响css和js的正确执行

written by ocean

12月 03

步骤:
1、单击“开始——运行,然后输入regedit (打开注册表)
2、依次展开:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建”
,选择:“主键”,把它命名为“645FFO40——5081——101B——9F08——00AA002F954E”
再把右边的“默认”的主键的键值设为“回收站”,然后退出注册表。就OK啦。
3、要重启你的计算机。
只要你机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来

written by ocean