Тег сценария в ленте RSS - PullRequest
       16

Тег сценария в ленте RSS

0 голосов
/ 04 октября 2019

Я создал RSS-канал для блога Umbraco. Как показано ниже, функция, заключенная в теги скрипта, появляется в сгенерированном XML, что означает, что она не проходит проверку RSS с ошибкой «Неопределенный элемент rss: скрипт» (согласно https://validator.w3.org/feed/).. Я понятия не имею, почему появляется этот тег скрипта. . Определение RSS XML (далее ниже) не содержит его, и я не могу найти ссылку на функцию или ее содержимое в базе кода.

Может ли кто-либо пролить свет на то, почему этот тег сценария и его тегсодержимое отображается? Мне нужно удалить его, чтобы пройти проверку RSS. Спасибо.

В настоящее время я проверяю это только на localhost.

<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">
<script>
(function(){EventTarget.prototype.ol_originalAddEventListener=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.ol_originalAddEventListener(t,e,r),"click"===t&&setTimeout(function(){!window.OL_NOT_LOGIN_PAGE&&n.setAttribute&&n.setAttribute("data-ol-has-click-handler","")},0)}})("")
</script>
<channel>
<title>Script Tag in RSS XML...</title> etc
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/">

    <channel>
        <title>@FEED_TITLE</title>
        <atom:link href="@feedUrl" rel="self" type="application/rss+xml" />
        <link>@feedParentPage.UrlWithDomain()</link>
        <description>@FEED_DESCRIPTION</description>
        <lastBuildDate>@lastBuildDate.ToString("r")</lastBuildDate>
        <language>@LANGUAGE</language>
        <sy:updatePeriod>@UPDATE_PERIOD</sy:updatePeriod>
        <sy:updateFrequency>@UPDATE_FREQUENCY</sy:updateFrequency>
        @foreach (IPublishedContent item in feedItems.OrderBy(ARTICLE_DATE_PROPERTY_ALIAS + " desc"))
        {
            string articleDescription = item.GetPropertyValue<string>(INTRODUCTION_PROPERTY_ALIAS);
            @:<item>
                <title>@(item.HasProperty(ARTICLE_TITLE_PROPERTY_ALIAS) ? item.GetPropertyValue<string>(ARTICLE_TITLE_PROPERTY_ALIAS) : item.Name)</title>
                @:<link>
                @umbraco.library.NiceUrlWithDomain(item.Id)
                @:</link>
                <pubDate>@(((DateTime)item.GetPropertyValue(ARTICLE_DATE_PROPERTY_ALIAS)).ToString("r"))</pubDate>
                <dc:creator><![CDATA[@CREATOR_NAME]]></dc:creator>
                <category><![CDATA[@CATEGORY]]></category>
                <guid isPermaLink="false">@item.UrlWithDomain()</guid>
                <description><![CDATA[@articleDescription]]></description>
            @:</item>
        }
    </channel>
</rss>

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Оказывается, существует известная проблема с корректным отображением Chrome RSS XML.

(ссылка по теме: Google Chrome отображает XML как текст для RSS-канала )

Iеще не нашли полного объяснения того, почему этот конкретный JS появляется в теге скрипта в Chrome, но генерация RSS-канала локально в Edge, Firefox и IE11 дает правильно отформатированный XML без проблемного тега скрипта. RSS XML, отображаемый в этих браузерах, проходит проверку RSS, что решает мою проблему.

Для информации, правильно отображенный RSS XML может быть просмотрен в Chrome с помощью view-source:.

Думаю, я отвечу на свой вопрос в случае, если кто-нибудь еще приземлится здесь.

0 голосов
/ 04 октября 2019

(Итак, у меня нет ответа, но у меня недостаточно репутации, чтобы просто комментировать.)

Несколько минут назад я увидел такой же странный скрипт-тег в сообщении об ошибке. на странице AWS s3, которую я только что развернул (статическая страница js / css / html).

На странице отображается то, что выглядит как стандартная страница ошибок AWS, но в XML есть тег script с тем же содержимымвы показываете. Я нашел ваше сообщение, потому что искал 'ol_originalAddEventListener'

. В моем случае ошибки указанным ключом является точно такой же URL-адрес, который я смог использовать при повторном развертывании того же кода в обычном месте.

Не ответ, но, возможно, более полезное свидетельство?

enter image description here

...