2011-02-16 38 views
0

我很難過。我的工作我的doctype切換到XHTML:XHTML兼容性 - 在Javascript變量中存儲HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

,因爲這樣做,我碰到一個驗證問題。我使用Dynamic Drive的Ultimate Fade-in幻燈片(在此處找到:http://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm),並從數據庫中提取所有變量。爲了做到這一點,我必須填充一些javascript變量。

我使用的數據庫後寫出來的我的javascript,我結束了以下內容:

<script type='text/javascript'> 
var img1, img2, im3, img4, lnk1, lnk2, lnk3, lnk4, txt1, txt2, txt3, txt4; 

img1 = "image1.jpg"; 
lnk1 = "/link1.php"; 
txt1 = "<font style='font-size: 14px;'><a href='/link1.php'>Article 1</a></font><br />Article 1 Content..."; 
img2 = "image2.jpg"; 
lnk2 = "/link2.php"; 
txt2 = "<font style='font-size: 14px;'><a href='/link2.php'>Article 2</a></font><br />Article 2 Content..."; 
img3 = "image3.jpg"; 
lnk3 = "/link3.php"; 
txt3 = "<font style='font-size: 14px;'><a href='/link3.php'>Article 3</a></font><br />Article 3 Content..."; 
img4 = "image4.jpg"; 
lnk4 = "/link4.php"; 
txt4 = "<font style='font-size: 14px;'><a href='/link4.php'>Article 4</a></font><br />Article 4 Content..."; 

var mygallery=new fadeSlideShow({ 
wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow 
    dimensions: [600, 400], //width/height of gallery in pixels. Should reflect dimensions of largest image 
    imagearray: [ 
     [img1, lnk1, "", txt1], 
     [img2, lnk2, "", txt2], 
     [img3, lnk3, "", txt3], 
     [img4, lnk4, "", txt4] // no trailing comma after very last image element! 
    ], 
    displaymode: {type:'auto', pause:5000, cycles:0, wraparound:false}, 
    persist: false, //remember last viewed slide and recall within same session? 
    fadeduration: 500, //transition duration (milliseconds) 
    descreveal: "always", 
    togglerid: "" 
}) 
</script> 

我得到了一些驗證錯誤都指向HTML代碼,我在TXT存儲[x]個變量。

樣本:239 行,列39:文檔類型不允許元素 「字體」 這裏

txt1 = "<font style='font-size: 14px;'><a href='/link1.php… 

239行,列126:文檔類型不允許元素 「BR」 這裏

…Article 1</a></font><br />Article 1 Content … 

我錯過了一些明顯的東西嗎?或者,當涉及到XHTML兼容時,JavaScript變量中的HTML文本不是一個選項?

+0

我認爲你的問題在於``標籤本身。如果我錯了,它已被折舊。你應該使用CSS風格的文本 – heymrcarter 2011-02-16 19:10:16

回答

0

你正在使用什麼驗證器?

w3c驗證程序不會忽略腳本標記內部的內容,因此如果腳本中包含HTML,驗證程序將嘗試將其驗證爲XHTML。

將腳本放入單獨的文件中。

此外,如果您要通過腳本插入HTML4標記,爲什麼還要擔心驗證?

0

font已棄用HTML 4嚴格和XHTML。使用適當的語義元素並設置它的樣式,在這種情況下將是a

+0

感謝您的迴應!好的,爲了測試,我刪除了標籤。所以錯誤已經改變。問題似乎是它不像我的任何HTML標籤。它似乎並不喜歡我的標籤或
。 –
Micah 2011-02-16 19:15:27

+0

@Micah - 按我在我的回答中所說的去做。把你的腳本放在一個單獨的文件中。 – Raphael 2011-02-16 19:38:36