在 JavaScript 中验证 URL 信息



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

并且没有开始字符引用。(可能应该是 转义为 &.( ...://www.youtube.com/watch?v=pgALxO5r7_0&feature=youtube_gdata_player" 类="哇...

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

src: escape( $(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>

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

猜猜一个是你正在使用XHTML doctype。 除非您知道XHTMLHTML的确切区别,否则请使用 HTML . HTML 4.01 strictHTML5 .

再次,根据我的猜测,您使用XHTML,需要CDATA脚本元素的内容。这足以说明不使用XHTML

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

最新更新