Rails将YouTube视频嵌入安全站点



我正在使用youtube_it gem将精选的YouTube视频加载到我的网站上,它在开发中运行良好,但是当部署到prod时,我在Chrome控制台中收到混合内容错误,因为这些视频在我的HTTPS域上以HTTP形式通过。

我不知道如何更改embed_html5方法来删除协议。

这是我的代码

@latest_videos = yt_client.videos_by(:user => 'foobar').videos
<% @latest_videos.each do |video| %>
  <%= raw video.embed_html5({width: '312', height: '240', frameborder: '0', fullscreen: true, modestbranding: "1"}) %>
  <h4><%= video.title %></h4>
<% end%>

如果你看一下embed_html5方法定义,你会看到这个:

# File 'lib/youtube_it/model/video.rb', line 256
def embed_html5(params = {})
  opts = {:class  => params[:class]  || "",
      :id     => params[:id]     || "",
      :width  => params[:width]  || "425",
      :height => params[:height] || "350",
      :protocol => params[:protocol] || "http",
      :frameborder => params[:frameborder] || "0",
      :url_params => params[:url_params] || {},
      :sandbox => params[:sandbox] || false,
      :fullscreen => params[:fullscreen] || false,
      }
    ...
end

您必须将具有值的值protocol embed_html5传递给https ,如下所示:

<%= raw video.embed_html5({protocol: 'https', width: '312', height: '240', frameborder: '0', fullscreen: true, modestbranding: "1"}) %>

这应该可以解决它!

相关内容

  • 没有找到相关文章

最新更新