【问题标题】:widget won't reload when going back to home page返回主页时小部件不会重新加载
【发布时间】:2016-05-17 07:06:39
【问题描述】:

我正在使用 Twitter 小部件在我的 rails 网站上加载主题标签搜索。当我第一次访问页面或单击重新加载时,小部件会正确加载。但是,如果我在整个网站中移动并返回上一页,它将不会加载小部件,而只会显示一个链接。是否可以进行任何更改,即使我单击返回包含它的页面,也可以加载小部件,而无需重新加载页面?

我看到有人提出了类似的问题before,但我找不到可以提供帮助的答案。任何意见都会受到好评!

这是小部件代码:

<a class="twitter-timeline" data-dnt="true" href="https://twitter.com/hashtag/srag5" data-widget-id="695833566630932481">#srag5 Tweets</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

如果有帮助,这是我的 application.html.erb:

<!DOCTYPE html>
<html>
<head>
  <link href='https://fonts.googleapis.com/css?family=Sura' rel='stylesheet' type='text/css'>
  <title><%= yield(:title) %> | RRH's World Language One To The World</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!--[if lt IE 9]>
      <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js">
      </script>
    <![endif]-->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <%= favicon_link_tag 'favicon.ico' %>
</head>
<body>
  <%= render 'layouts/navbar.html.erb' %>

  <div class="container">
    <div class="jumbotron">
      <%= yield %>
    </div>   
  </div>
</body>
</html>

见附图

【问题讨论】:

    标签: javascript jquery html ruby-on-rails twitter


    【解决方案1】:

    如 Twitter 社区 forum 所示,通过某人的 post 使用 ajax,在小部件末尾添加 twitter.widgets.load() 即可解决问题。

    因此修改后的小部件将是:

    <a class="twitter-timeline" data-dnt="true" href="https://twitter.com/hashtag/srag5" data-widget-id="695833566630932481">#srag5 Tweets</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); twttr.widgets.load();</script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 2015-04-06
      • 2021-08-05
      • 2016-04-09
      相关资源
      最近更新 更多