[JS/Ajax]Eigenschap wordt niet ondersteund door dit object*

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
In mijn website gebruik ik AJAX, in IE 7 en firefox 2 werkt dit perfect echter in IE6 krijg ik een javascript error "Eigenschap wordt niet ondersteund door dit object"

en dit wel op deze lijn:

code:
1
2
3
4
5
6
7
...
    function voerPaginaUit(pagina,oproepnaam){
     
        var XMLHTTPObject = createHTTPHandler();
        
        XMLHTTPObject.open('GET', pagina, true);
....


Op het open statement loopt het in ie6 mis...

weet er iemand wat ik hier alsnog aan kan doen?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Laat createHTTPHandler() eens zien?

En code kan tussen [code=js][/] tags ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
U vraagt wij draaien:

JavaScript:
1
2
3
4
5
6
7
8
function createHTTPHandler(){
            httphandler = false;
            
            if (!httphandler && typeof XMLHttpRequest!='undefined') {
            httphandler = new XMLHttpRequest();
            }
            return httphandler;
    }

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat natuurlijk niet gaat werken voor IE6 (XMLHttpRequest is niet native).

Dit vind ik zelf een mooie oplossing (uitgewerkt door crisp (profiel))

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (!window.XMLHttpRequest)
{
    window.XMLHttpRequest = function()
    {
        // http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
        var types = [
            'MSXML2.XMLHTTP.6.0',
            'MSXML2.XMLHTTP.3.0'
        ];

        for (var i = 0; i < types.length; i++)
        {
            try
            {
                return new ActiveXObject(types[i]);
            }
            catch(e) {}
        }

        return undefined;
    }
}

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Wat misschien ook wel een optie is als je niet echt bedreven bent met JS (en gezien de vraag vermoed ik dat een beetje (no offense)) is kijken naar een JS framework, zoals JQuery. Dan hoef je niet alle low level details te weten.

Dojo of prototype.js/script.aculo.us kan natuurlijk ook altijd, maar die voegen meteen erg veel abstractie toe. JQuery is lekker lightweight.

Fat Pizza's pizza, they are big and they are cheezy


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
BtM909 schreef op dinsdag 26 juni 2007 @ 18:34:
Wat natuurlijk niet gaat werken voor IE6 (XMLHttpRequest is niet native).

Dit vind ik zelf een mooie oplossing (uitgewerkt door crisp (profiel))

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (!window.XMLHttpRequest)
{
    window.XMLHttpRequest = function()
    {
        // http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
        var types = [
            'MSXML2.XMLHTTP.6.0',
            'MSXML2.XMLHTTP.3.0'
        ];

        for (var i = 0; i < types.length; i++)
        {
            try
            {
                return new ActiveXObject(types[i]);
            }
            catch(e) {}
        }

        return undefined;
    }
}
Ik veronderstel dat dit iets vervangt, maar wat juist?

  • user109731
  • Registratie: Maart 2004
  • Niet online
bibawa schreef op dinsdag 26 juni 2007 @ 20:17:
[...]
Ik veronderstel dat dit iets vervangt, maar wat juist?
createHTTPHandler() :P Waardoor je gewoon dit kunt doen:
JavaScript:
1
var XMLHTTPObject = new XMLHttpRequest();

Dat kan ook zonder die code in browsers != IE, maar voor IE6 en lager heb je dat nodig :)

[ Voor 59% gewijzigd door user109731 op 26-06-2007 20:35 . Reden: '6 en lager' toegevoegd ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
> WEB

Over de schutting ermee.

https://fgheysels.github.io/


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
schitterend, dat werkt perfect!

thnx!
Pagina: 1