【问题标题】:Updating RSS <link> URL with Javascript?使用 Javascript 更新 RSS <link> URL?
【发布时间】:2009-04-22 01:33:28
【问题描述】:

是否可以动态更新一个 rss &lt;link&gt; 标签的 URL,这样当点击地址栏中的 RSS 图标时,浏览器会将用户引导到更新后的 URL?

例如,使用 Jquery:

<link id="feed_url" rel="alternate" type="application/rss+xml" 
      title="RSS" href="/feed" />

<script type="text/javascript">
    $("#feed_url").attr("href", "/feed?foo=bar");
</script>

用户现在应该被重定向到/feed?foo=bar而不是/foo

请注意,查询字符串中的值是在客户端动态确定的,因此必须通过 Javascript 更新 URL。我无法在服务器端确定这些值。

【问题讨论】:

    标签: javascript rss


    【解决方案1】:

    许多浏览器会解析 DocumentComplete 上的链接标签,如果它发生变化,以后不会重新解析它。所以从技术上讲,它可能会更新,但浏览器可能不会注意到。您必须在不同的浏览器中进行测试。

    【讨论】:

      【解决方案2】:

      为什么要使用 javascript 来更新 URL?为什么不直接更改 HTML?

      您正在更改模板/视图以添加 JavaScript,所以我认为向浏览器发送错误的提要地址,然后使用 JavaScript 来更正地址并没有什么好处。

      如果您想动态生成/更改 RSS 链接,则应在服务器端完成。您可以将不同页面的提要地址存储在数据库中,并在页面被请求时将它们动态插入到页面中。

      例如

      <link id="feed_url" rel="alternate" type="application/rss+xml"
        title="<? echo $page['RSS']['title'] ?>"
        href="<? echo $page['RSS']['url'] ?>" />
      

      【讨论】:

      • 查询字符串中的值是在客户端动态确定的。因此我无法在服务器端确定这些值。
      【解决方案3】:

      请记住,有一些提要阅读器和聚合器可以在没有 javascript 的情况下阅读页面。我不知道这对您来说是否有问题,但如果是,请提供默认的未修改 js 的提要,或禁用提要并为 js 客户端动态添加提要。

      【讨论】:

        猜你喜欢
        • 2012-01-04
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-27
        • 1970-01-01
        相关资源
        最近更新 更多