2011-02-16 39 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