相同的代码与不同的来源表现不同

时间:2012-04-02 13:16:57

标签: javascript

我有一个非常奇怪的问题,当从不同来源提供时,相同的Javascript片段表现不同。代码位于这篇文章的底部。

此代码正在使用的页面由两个不同的源组成:标准视图文件和数据库中的内容(标记)。组合在服务器端完成,并作为统一文档发送给客户端。因此,就客户而言,页面是相同的。

我遇到的问题是:当放置在视图文件中时,代码正常执行并按预期运行。但是,当放入数据库时​​,浏览器会报告missing } after function body

数据库中的代码和视图文件是相同的。存在一个区别:当放置在数据库中时,将删除所有换行符(\n)。 这可能是问题吗?如果没有,有没有人以前见过这种问题?

var rssTimeout = setTimeout(GetRSSFeed, 300000);
$(document).ready(function () {
    GetRSSFeed();
});

var GetRSSFeed = function () {
    var feedProxyURL = "http://localhost/BusinessLogicAPI/api/Proxy/RSSFeed?URL=http://feeds.bbci.co.uk/news/rss.xml";
    $.ajax({ url: feedProxyURL,
        type: "GET",
        dataType: "xml",
        success: function (data) {
            var xmData = $(data);

            //For the first 5 stories,
            //build some JSON data and give it to the templates
            xmData.children("rss")
                .children("channel")
                .children("item")
                .slice(0, 5)
                .each(function (I, E) {
                    var json = {};
                    json.title = $(E).children("title").text();
                    json.description = $(E).children("description").text();

                    $("#newsTemplate").tmpl(json).appendTo("#newsFeed");
                });
        },
        error: function () {
            $("#newsFeed").html("<span>Could not open feed</span>");
        }
    });
    rssTimeout = setTimeout("GetRSSFeed()", 300000);
};

2 个答案:

答案 0 :(得分:1)

据推测,两条// ...行注释会导致其余的javascript被注释掉。删除评论,看看它是否有效?

答案 1 :(得分:0)

我们在javascript中注释了一行,但它在IE9中被检测到,而它在IE8和Mozilla中被视为评论。