XHTML兼容性 - 在Javascript变量中存储HTML

时间:2011-02-16 19:04:08

标签: javascript xhtml

我在这里难过。我正在努力将我的doctype切换为XHTML:

<!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>

我得到了许多验证错误,都指向我存储在txt [ x ]变量中的html代码。

样品: 第239行,第39栏:文档类型不允许元素“font”在这里

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

第239行,第126列:文档类型不允许元素“br”在这里

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

我错过了一些明显的东西吗?或者,在符合XHTML的情况下,javascript变量中的HTML文本不是一个选项吗?

2 个答案:

答案 0 :(得分:0)

HTML 4 Strict和XHTML中不推荐使用

font。使用适当的语义元素并对其进行样式设置,在这种情况下为a

答案 1 :(得分:0)

您使用的验证器是什么?

w3c验证器不会忽略脚本标签内的内容,因此如果您的脚本中有HTML,验证器将尝试将其验证为XHTML。

将您的脚本放入单独的文件中。

另外,如果要通过脚本插入HTML4标签,为什么还要担心验证?