是否可以动态更新rss <link>
标记的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。我无法在服务器端确定这些值。
答案 0 :(得分:2)
许多浏览器将解析DocumentComplete上的链接标记,如果更改则不会在以后重新解析。从技术上讲,它可能会更新,但浏览器可能不会注意到。你必须在不同的浏览器中进行测试。
答案 1 :(得分:0)
为什么要使用javascript来更新网址?为什么不改变HTML?
您正在更改模板/视图以添加JavaScript,因此我没有看到向浏览器发送错误的Feed地址,然后使用所有内容的JavaScript来更正地址的任何优势。
如果要动态生成/更改RSS链接,应该在服务器端完成。您可以在数据库中存储不同页面的源地址,并在请求页面时动态地将它们插入到页面中。
e.g。
<link id="feed_url" rel="alternate" type="application/rss+xml"
title="<? echo $page['RSS']['title'] ?>"
href="<? echo $page['RSS']['url'] ?>" />
答案 2 :(得分:0)
请记住有饲料阅读器和agregator将在没有javascript的情况下阅读该页面。我不知道这对你来说是否是一个问题,但如果是,请提供默认的not-js-modified feed,或者禁用feed并为js-clients动态添加feed。