单击带有哈希标记的链接时强制刷新

时间:2010-11-12 17:28:37

标签: jquery iframe hash reload

我有一个包含iframe的页面,然后是侧边栏链接。侧边栏链接指向iframe中加载的文章。每个侧边栏链接都有一个类似“/ news#1940”的链接,其中#标签后面的数字对应于文章的ID。然后我使用以下jQuery来加载我们网站上的新闻页面,然后加载iframe中的相应文章。

  var $news_story       = $(window.location.hash.substring(1)),
      $news_number      = $news_story.selector,
      $news_url         = 'http://www.articleurlhere.com/ID=' + $news_number,
      $news_url_default = 'http://www.main_news_feed_url_here.com';
      var $url           = location.pathname;

        if ($news_number.length>0) {
          $('#news-feed').attr('src', $news_url);
        } else {
          $('#news-feed').attr('src', $news_url_default);
        }

当您单击外部页面的侧栏链接时,此功能非常有用。但是,当您在新闻页面上单击侧边栏链接时它不起作用(它将URL更改为与链接关联的#number,但不会重新加载页面或在iframe中加载文章)。关于如何在新闻页面上使这些链接工作的任何想法?

3 个答案:

答案 0 :(得分:0)

我认为你需要像这样调用重载:

window.frames["news-feed"].location.reload();

答案 1 :(得分:0)

你试过$(document).trigger('load');

吗?

答案 2 :(得分:0)

我在链接中使用哈希遇到了同样的问题...当哈希标记更改时页面不会重新加载。我的解决方案是将哈希标记切换为问号。这导致以'?YourLinkLabel'结尾的链接在每次链接标签更改时实际重新加载页面(通过单击其href属性以'?YourLinkLabel'结尾的链接触发更改)。