IPB

Welcome Guest ( Log In | Register )

Profile
Personal Photo
Options
Options
Personal Statement
abozhilov doesn't have a personal statement currently.
Personal Info
abozhilov
Newbie
Age Unknown
Gender Not Set
Location Unknown
Birthday Unknown
Interests
No Information
Statistics
Joined: 22-February 08
Profile Views: 137*
Last Seen: 17th August 2009 - 06:05 PM
Local Time: Oct 13 2026, 11:09 AM
4 posts (0 per day)
Contact Information
AIM No Information
Yahoo No Information
ICQ No Information
MSN No Information
Contact Private
* Profile views updated each hour

abozhilov

Administrators

*


Topics
Posts
Comments
Friends
My Content
27 Mar 2009
CODE
html {filter:expression(document.execCommand("BackgroundImageCache", false, true));} /* enable background image caching in IE6 */
27 Feb 2008
CODE
      function preventDefault(event)
      {
            event.returnValue = false;
            if (event.preventDefault)
            {
                  event.preventDefault();
            }
      }
27 Feb 2008
CODE
    function addEvent(oElement, handler, callback, capture)
    {
        if (oElement.addEventListener)
        {
            oElement.addEventListener(handler, callback, capture);
        }
        else if (oElement.attachEvent)
        {
            if (typeof oElement[handler + callback] != 'undefined')
            {
                removeEvent(oElement, handler, callback, false);
            }
            
            oElement[handler + callback] = function(oElement, callback)
            {
                return function()
                {
                    callback.call(oElement, event);
                }
            }(oElement, callback)
            oElement.attachEvent('on' + handler, oElement[handler + callback]);
        }
    }

    
    function removeEvent(oElement, handler, callback, capture)
    {
        if (oElement.removeEventListener)
        {
            oElement.removeEventListener(handler, callback, capture);
        }
        else if(oElement.detachEvent)
        {
            oElement.detachEvent('on' + handler, oElement[handler + callback]);
            oElement.removeAttribute(handler + callback);
        }
    }

Атачване и премахване на събития към хтмл елементи, като в ИЕ this сочи към обекта на когото е закачено събитието и event обекта съответно се предава като параметър на колбека.
22 Feb 2008
CODE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>New Document</title>
    </head>
    <body>
        <script type="text/javascript">            
            function Ajax()
            {
                this.params = new String();
                this.headers = null;
                this.callback = null;
                this.xmlHttp = this.getInstance();
            }
            
            Ajax.prototype.getInstance = function()
            {
                return (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
            }
            
            Ajax.prototype.setRequestHeader = function(senderHeader)
            {
                this.headers = senderHeader;
            }
            
            Ajax.prototype.addHeaders = function()
            {
                for (i in this.headers)
                {
                    this.xmlHttp.setRequestHeader(i, this.headers[i]);
                }
            }
            
            Ajax.prototype.addParam = function(name, value)
            {
                this.params += name + '=' + encodeURI(value) + '&';
            }
            
            Ajax.prototype.addCallback = function(callback)
            {
                this.callback = callback;
            }
            
            Ajax.prototype.parseUrlParams = function(method, url)
            {
                if (method.toUpperCase() != 'POST')
                {
                    url += '?' + this.params;
                    this.params = null;
                }
                
                return url;
            }
            
            Ajax.prototype.parseResponseProperty = function()
            {
                if (this.xmlHttp.getResponseHeader('Content-Type') == 'text/xml')
                {
                    return 'XML';
                }
                
                return 'Text';
            }
            
            Ajax.prototype.getRequest = function(method, url, asinFlag)
            {
                this.xmlHttp.open(method, this.parseUrlParams(method, url), asinFlag);
                this.addHeaders();
                
                var self = this;
                this.xmlHttp.onreadystatechange = function(){self.getData.call(self)};
                this.xmlHttp.send(this.params);
            }
            
            Ajax.prototype.getData = function()
            {
                if (this.xmlHttp.readyState == 4 && this.xmlHttp.status == 200)
                {
                    if (this.callback)
                    {
                        this.callback.call(this, this.xmlHttp['response' + this.parseResponseProperty()]);
                    }
                }
            }
            
            function getAjaxData(response)
            {
                alert(response);
            }
            
            
            var AjaxPost = new Ajax();
            AjaxPost.setRequestHeader({
                'Content-type' : 'application/x-www-form-urlencoded'
            });
            AjaxPost.addParam('test0', 'test0 value');
            AjaxPost.addParam('test1', 'test1 value');
            AjaxPost.addCallback(getAjaxData);
            AjaxPost.getRequest('POST', 'test.php', true);
            
            var AjaxGet = new Ajax();
            AjaxGet.addParam('test_get_0', 'test0 value');
            AjaxGet.addParam('test_get_1', 'test1 value');
            AjaxGet.addCallback(getAjaxData);
            AjaxGet.getRequest('GET', 'test1.php', true);
        </script>
    </body>
</html>

setRequestHeader()
Посредством този метод се сетват HTTP хедърите за рикуеста.
Приема JSON обект като аргумент, в обекта хедърите се сетват:
CODE
'Content-type' : 'application/x-www-form-urlencoded',
'Pragma' : 'no-cache'


addParam(name, value)
С този метод се изпращат GET/Pоst аргументи, метода приема два аргумента:
име на параметъра, стойност
CODE
addParam('someName', 'someValue');


addCallback(functionName)
Този метод се използва за указване на функция която, да обработва върнатия резултат, функцията която обработва резултата първия и аргумент е именно върнатия резултат.
CODE
addCallback(someFunction);

function someFunction(response)
{
alert(response);
}


getRequest(method, url, asinFlag)
Най-важния метод е за осъществяване на самия рикуест, и приема три аргумента: HTTP метод, адрес на файла към който ще се прави рикуеста и асинхронния булев флаг.
Last Visitors
abozhilov has no visitors to display.

Comments
Other users have left no comments for abozhilov.

Friends
There are no friends to display.
Lo-Fi Version Time is now: 13th October 2026 - 10:09 AM