צפיות
תשובות
XMLDOM+XMLNS+IE+BR
באתר שאני בונה, אני החלטתי לבנות מערכת ליריקס(מילים לשירים) מבוססת XML (אחת הסיבות שזה משתנה פעם לשנתיים (מייבי) לכן אין לי כאן צורך במסד)…
בעמוד ה-XML שלי אני הגדרתי על XMLNS שמקבל את הגדרות ה-HTML כדי שאני אוכל להשתמש בתגית BR.
כאשר אני מושך את הטקסט שאני אוסף בתוך ה-XML דרך JS אני מן הסתם מקבל במקום ה-BR מחרוזת שיש בתוכה n. לכן כאשר משכתי את הטקסט אני עשיתי ריפלייס בחזרה. בחלק מהמקרים יש לי שני BRים רצופים, עכשיו, ב-FF זה מחליף לי לשני BRים כמו שצריך אבל ב-IE זה עדיין מחליף לי ל-BR אחד.
קישור לעמוד שעוסק בכל זה:
קישור לקובץ ה-XML:
וזו הפונקציה שאחראית על השמת המידע בתוך הדף:
// song is a XML Element that contain the name os the song and his lyrics
function showLyrics(song){
var cont = song.getElementsByTagName("lyrics")[0], name=song.getElementsByTagName("name")[0];
name = name.textContent?name.textContent:name.text;
cont = (cont.textContent)?cont.textContent:cont.text;
cont = cont.replace(/n/g,"<br />");
lyricsContent.innerHTML = ""
+ "<strong class="headline">"+name+"</strong>" + "n"
+ "<div>" + cont +"</div>";
}
תודה רבה לעוזרים.
9 תשובות
תודה לאל נפתר
cont = cont.replace(/n/mg,"<br />");
|x| לא נפתר
סודר
פניתי למאפיין XML שמחזיר קוד XML במקום ל-TEXT ועכשיו הכל עובד כשורה
מה שטיול קטן ב-MSDN יכול לעשות
למה אתה בכלל עובד עם xmldom?
לא יותר נוח ופשוט לעבוד עם xsl?
(לא שאני כזה מומחה, אבל הספקתי קצת לעבוד גם עם זה וגם עם זה, וה XSL נותן תוצאות הרבה יותר יפות לדעתי…)
אני לא יודע XSL
למרות שאני יכול ללמוד זאת כמו שאני לומד עוד הרבה דברים אחרים כשאני צריך אותם
איני יודע אם יש אפשרות כזו אבל אני צריך לשלב את הXML בתוך עמוד טמפלייט HTML שהכנתי לעצמי.
אם הייתה איזה תגית תקנית שמכניסה XML לתוך העמוד אז אני מניח שב-FF ואופרה היו מיישימים את זה כבר (מה שנקרא כיום XML Island שעובד רק ב-IE) אז לדעתי הייתי משתמש ב-XSL במקרים כאלו.
אני גם מכיר הרבה יותר טוב את XML DOM לכן זה דיי נוח לי
מה דעתך על
xmlhttp שיטען את התוכן לתוך div, כשהתוכן הזה יהיה דף XML עם קישור ל XSL שיתרגם אותו ל HTML?
(זה הרבה יותר טוב ממה שזה נשמע)
עשיתי את זה גם בצד הלקוח וגם בצד השרת, וזה עובד חלק…
בצורה הזו אתה גם יכול לציין קלאסים ב XSL שלך, ולהכליל את קובץ ה style דרך ה HTML…
זהר…
אני הצלחתי בדרך הרגילה להכליל קובץ CSS בתוך ה-XSL.
מה, עם תג style?
אני לא הצלחתי לא עם תג style ולא עם תג link…
אולי זה תלוי גם בדפדפן…. אצלי יש ie6
אצלי הצלחתי גם עם link גם עם style
ולי יש גם IE6.
יכול להיות שהגדרת את ה-XSL בדרך השנייה?
כי אני הגדרתי כך:
<xsl:stylesheet version="1.0" xmlns_xsl="http://www.w3.org/1999/XSL/Transform">