13-05-2007, 12:26
|
|
|
חבר מתאריך: 13.05.07
הודעות: 1
|
|
childNodes ורווחים במוזילה - איך אפשר להתעלם
הי,
אני בונה אתר, שהניווט בתוכו הוא דינמי, כלומר js ו- ajax ובכל מקרה ללא טעינת הדף מחדש.
אפשר לראות את השלב הדבילי שבו האתר נמצא ב-www.gilyotina.com
אני עכשיו מנסה לטעון תוכן לתוך div קיים. כלומר, להעיף את הchild שכרגע יושב בו ולטעון את ה-
responseText שלי. כרגע זה responseText ולא responseXML כי אני עוד לא יודעת לעבוד עם XML יותר מדי. זה ישתנה בהמשך.
בכל מקרה, הבעיה: מוזילה מחשיבה את כל הwhitesaces בתור Node ואני איכשהו חייבת להתגבר על זה. מצאתי הסבר אצלם איך לעשות את זה, אבל אני לא מצליחה להבין איפה ואיך ליישם את זה במקרה שלי: http://developer.mozilla.org/en/doc...pace_in_the_DOM
אם מישהו יכול לסייע...הנה החלק הרלוונטי בג'אווהסקריפט שלי:
קוד:
/* FROM HERE DEAL WITH THE FILM CONTENT */
var xmlhttp=false;
/* running locally on IE5.5, IE6, IE7 */ ; /*@cc_on
if(location.protocol=="file:"){
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xmlhttp=false;}
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xmlhttp=false;}
} ; @cc_off @*/
/* IE7, Firefox, Safari, Opera... */
if(!xmlhttp)try{ xmlhttp=new XMLHttpRequest(); }catch(e){xmlhttp=false;}
/* IE6 */
if(typeof ActiveXObject != "undefined"){
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xmlhttp=false;}
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xmlhttp=false;}
}
/* IceBrowser */
if(!xmlhttp)try{ xmlhttp=createRequest(); }catch(e){xmlhttp=false;}
function showfilm (kinofile) {
if (!xmlhttp)
return alert("Your browser doesn't seem to support XMLHttpRequests.");
xmlhttp.open("GET",kinofile,true); //make sure open appears before onreadystatechange lest IE will encounter issues beyond the first request
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState!=4)return;
if(!xmlhttp.status||xmlhttp.status==200){
elem = document.getElementById('rightwin');
elem.removeChild(elem.childNodes[1]);
var newnode = document.createTextNode (xmlhttp.responseText);
document.getElementById('rightwin').appendChild(ne wnode);}
else
alert("Request failed!");
}; //onreadystatechange
xmlhttp.send(null);
} //showfilm
/* END FILM CONTENT */
|