1

我正在尝试验证以下脚本生成的输出。正在通过代理解析信息,该代理具有正确编码的所有信息(例如 & 是 &)但是当我使用 W3 验证器时,我得到以下信息

& 没有开始字符引用。(& 可能应该转义为 &。)…://www.youtube.com/watch?v=pgALxO5r7_0&feature=youtube_gdata_player" class="wa…</p>

我试过但没有成功找出代理和输出之间出了什么问题。任何帮助,将不胜感激。我认为问题出在

src: 转义($(this).find('link').text()),

完整来源:

<script type="text/javascript">
$(document).ready(function() {
    projekktor('#player_a', {
    useYTIframeAPI: false,
    width: 730,
    height: 452,
    plugin_display: {
        logoImage: "includes/images/transIcon.png"
    },
    controls: true,
    playlist: [{0:{src:'includes/proxy.php?url=http://gdata.youtube.com/feeds/base/users/SkiBsandDXL/uploads?alt=rss&amp;v=2&amp;orderby=published', type:"text/xml"}}],
    reelParser: function(xmlDocument) {
        var result = {};
        var regMatch = new RegExp("http:[^ ,]+\.jpg");  
        result['playlist'] = [];
        $(xmlDocument).find("item").each(function() {
        try {
            result['playlist'].push({
            0:{
                src: escape( $(this).find('link').text()),          
                type: 'video/youtube'
            },
            config: {
                poster: regMatch.exec(unescape( $(this).find('description').text())),
                title: $(this).find('title').text(),
                desc: $(this).find('description').text()
            }
            });
        } catch(e){}
        });
        return result;
    } 
    });
 });
</script>
4

1 回答 1

1

我将在这里进行一些疯狂的猜测:

猜测一个是您正在使用XHTML doctype. 除非您知道XHTMLHTMLthen 使用HTML. HTML 4.01 strictHTML5

同样,根据我的猜测,您XHTML的脚本元素的内容需要是CDATA. 这是不使用的足够理由XHTML

如果您必须使用 XHTML,那么要么放入 CDATA 包装器,要么将您的脚本置于外部。无论如何,将脚本放在外部总是一个好主意。

于 2012-09-09T20:55:51.167 回答