Antworten auf deine Fragen:
Neues Thema erstellen

Failed to create an XMLHttpRequest object!

knuffiwuffi

Nicht mehr ganz neu hier

Hallo,

ich habe auf meiner Seite einen JW Player eingebaut, der seine Playlist aus einer XML Dateu zieht. In FF klappt alles tadellos, IE dagegen spuckt mir die im Titel beschriebene Fehlermeldung aus. Mit der DW Vorschau im IE bricht er gleich ganz weg und kann nicht öffnen.

Ich habe schon nach einem passenden Code für IE XML Request gesucht, aber schaffe es nicht.

Bitte, bitte...Hilfe ;) Die Seite ist schon online, falls jemand den Code einsehen möchte. Alleine den Player richtig einzurichten hat mich 1 Tag gekostet. Wäre schade wenn IE den nicht mag.

index1
 

Thyras

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Bissel Code wäre nicht schlecht oder soll man jetzt die prototype.js o.ä. durchforsten?! ;)

Im Normalfall gilt für das Erzeugen eines XMLHttpRequest-Objekts grob:

Code:
new XMLHttpRequest(); //für FF, IE7+8, Safari...
new ActiveXObject('MSXML2.XMLHTTP'); //für neuere IE
new ActiveXObject('Microsoft.XMLHTTP'); //für ältere IE
Da sollten sich aber schon auch genügend Beispiele im Web finden lassen.

[edit]
Evtl. reicht's ja schon sich neuere Versionen von prototype, scriptaculous, ... zu besorgen?
 
Zuletzt bearbeitet:

knuffiwuffi

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Welcher Code wird benötigt? Wie kann ich deinen Vorschlag einbauen? Habe über Google schon eine ganze Reihe an Codes versucht einzubauen. IE mag den XML Request nicht. Der Player greift auf aktuelle swfobject.js und player.swf zu:( In FF klappt alles...ich nutze IE v6.0.2900.5512 mit SP3 auf XP:

Meine index.html:
Im HEAD
<script type="text/javascript" src="JWPlayer/swfobject.js"></script>

Im BODY (nutze den JW Player von Longtail)
<div class="VideoBox1" id='VideoBox1'><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">Get the Adobe Flash Player to see this video.</a></div>

<script type='text/javascript'>
var s1 = new SWFObject('JWPlayer/player.swf','ply','720','260','9','#ffffff');
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('wmode','opaque');
s1.addParam('flashvars','file=JWPlayer/VideoBox1/VideoBox1.xml&playlist=right&playlistsize=350&streamer=lighttpd&fullscreen=true&backcolor=111111&frontcolor=eeeeee&stretching=fill&plugins=gapro&gapro.accountid=UA-4011032-1');
s1.write('VideoBox1');
</script>


Meine VideoBox1.xml aus der der Player seine Daten zieht:
<?xml version="1.0" encoding="utf-8"?>

<playlist version="VideoBox1">
<trackList>
<track>
<title>Speedclinic</title>
<location>http://www.speedclinic.de/JWPlayer/VideoBox1/SpeedclinicIntro2008.flv</location>
<image>JWPlayer/VideoBox1/speedclinicIntro2008.jpg</image>
<annotation></annotation>
<info>http://www.speedclinic.de</info>
</track>

<track>
<title>Speedpull</title>
<location>http://www.speedclinic.de/JWPlayer/VideoBox1/Speedpull.flv</location>
<image>JWPlayer/VideoBox1/Speedpull.jpg</image>
<annotation></annotation>
<info>http://www.speedclinic.de</info>
</track>

<track>
<title>Accelerator</title>
<location>http://www.speedclinic.de/JWPlayer/VideoBox1/Accelerator.flv</location>
<image>JWPlayer/VideoBox1/Accelerator.jpg</image>
<annotation></annotation>
<info>http://www.speedclinic.de</info>
</track>

</trackList>
</playlist>
 
Zuletzt bearbeitet:

knuffiwuffi

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Habe mal dieses Skript in den HEAD meiner index.html gebaut. Klappt leider nicht. Immer noch wie vorher:

<script type="text/javascript">
// Objekt erzeugen
// hier ohne Fallunterscheidung, da für das Beispiel einfacher
var xmlHttpObject = new XMLHttpRequest();

// Funktion, die bei Statusänderungen reagiert
function handleStateChange()
{
// Derzeitigen Status zurückgeben
alert("xmlHttpObject.readyState = " + xmlHttpObject.readyState + (xmlHttpObject.readyState >= 3 ? " HTTP-Status = " + xmlHttpObject.status : ''));
}

// Wenn Dokument geladen ausführen
window.onload = function() {
// Anfrage vorbereiten, ruft auf
xmlHttpObject.open('GET', '/');
// Handler hinterlegen
xmlHttpObject.onreadystatechange = handleStateChange;
// Anfrage abschicken
xmlHttpObject.send(null);
}
</script>
 

Thyras

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Zum Verständnis ne kurze Zusammenfassung: (für dich und mich :D)

Irgendein Teil des Skripts startet nen XMLHttpRequest. Da nur der Player im IE6 nicht funktioniert (hab jetzt hier keinen zum Testen), wird der wohl mit davon ausgelöst. Der Code für den Aufruf ist in einer .js-Datei definiert und sofern das nicht direkt vom JWPlayer mitgeliefert wird, übernimmt das meist scriptaculous/prototype bzw. ne eigene Ajax-Klasse o.ä.

Je nach Browser unterscheidet sich der Aufruf für den Request. Das ist allerdings nix Neues, daher wundert es mich, dass ein älterer IE bei Scriptaculous nicht berücksichtigt sein soll.

Du kannst jetzt natürlich den Code nach XMLHttpRequest() durchforsten und anpassen, evtl. auch mal Scriptaculous aktualisieren bzw. eigenen Code definieren.

Evtl. stören sich auch einfach mehrere js-Dateien die ähnliche Funktionsnamen verwenden, sich irgendwie überschreiben etc. Versuch' mal die Reihenfolge der eingebundenen Dateien zu ändern und die für den Player später einzubinden.

Wo genau der Fehler ausgelöst wird, also von welcher Funktion / Datei, wäre zunächst mal interessant. Gibts noch mehr Infos zu der Fehlermeldung? Siehst du den nur in der Statusleiste, als Alert oder...?

Evtl. kann ja auch mal ein anderer mit IE6 testen. ;)
 

knuffiwuffi

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Da kommen wir der Sache doch schon näher. Vielen Dank für deine Hilfe.

Auf der Seite von Longtail wurden solche Probleme angesprochen, ich konnte aber keine brauchbare Lösung finden. Sarafi hat übrigens auch keine Probleme, dafür aber der Konqueror.

Der Player ruft in der index.html dieses JS Script auf. Es sollen die Daten aus einer XML an den Player übergeben werden:

SWFObject.js


/**
* SWFObject v1.5: Flash Player detection and embed - deconcept You’ve got your good thing, and I’ve got mine SWFObject: Javascript Flash Player detection and embed script
*
* SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
*
*
*/
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d.substring(0,_2d.indexOf("="))==_2b){return _2d.substring((_2d.indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f.style.display="none";for(var x in _2f){if(typeof _2f[x]=="function"){_2f[x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;



Habe es auch mal mit einem IEClasser Script versucht, welches z.B. bei Wikipedia als Lösung für XMLHTMLRequest angebracht wurde. Klappt leider auch nicht. Das Script sieht dann so aus und wird im HEAD der index.html aktiviert:

XMLHttpRequest
IEClasser.js

http_request = false;
function liveticker_object() {
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Sorry, das hat net geklappt...');
return false;
}

http_request.onreadystatechange = showErgebnis;
http_request.open('GET', 'datei.php', true);
http_request.send(null);
}

function showErgebnis() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('Sorry, das hat nicht geklappt...');
}
}
}


Ich finde den Player super, aber er sollte auch im IE laufen. Habe bei Longtail schon angefragt. Bislang keine Antwort.
 

knuffiwuffi

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

Kann machen was ich will, der IE zeigt mir weiterhin die Fehlermeldung Failed to create an XMLHttpRequest object! an wenn ich alles auf dem Server habe und IE starte. Es scheitert wohl an der Abfrage der XML Daten über HTTP. Zumindest bricht mir DW die Vorschau im IE lokal nicht mehr mit einer totalen Fehlermeldung ab, da ich eine Zeile im Player ergänzt habe (blau). Trotzdem klappt auch hier die Vorschau nicht.

JW Player Script sieht so aus:

HEAD

<script type="text/javascript" src="JWPlayer/swfobject.js"></script>

BODY

<script type='text/javascript'>
var s1 = new SWFObject('JWPlayer/player.swf','ply','720','260','9','#ffffff');
so.addVariable('file', encodeURIComponent('http://www.speedclinic.de/JWPlayer/VideoBox1/VideoBox1.xml'));
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('wmode','opaque');
s1.addParam('flashvars','file=JWPlayer/VideoBox1/VideoBox1.xml&playlist=right&playlistsize=350&streamer=lighttpd&fullscreen=true&backcolor=111111&frontcolor=eeeeee&stretching=fill&plugins=gapro&gapro.accountid=UA-4011032-1');
s1.write('VideoBox1');
</script>
 
Zuletzt bearbeitet:

knuffiwuffi

Nicht mehr ganz neu hier

AW: Failed to create an XMLHttpRequest object!

So, habe euch genug genervt...Lösung:

Player auf einer sauberen HTML einbauen und in den selben Ordner wie die JW Player Dateien schieben. Links alle immer mit vollständiger URL Bezeichnung in die XML. Den Player dann mittels passenden IFrame und Scrolling="no" auf der index.html einbinden. Passt, wackelt und hat Luft

IE funzt nun...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.621
Beiträge
1.538.378
Mitglieder
67.546
Neuestes Mitglied
tyed
Oben