Ruby on rails 如何在我的rails 4应用程序中的iframe中运行本地HTML文件

Ruby on rails 如何在我的rails 4应用程序中的iframe中运行本地HTML文件,ruby-on-rails,html,ruby-on-rails-4,iframe,Ruby On Rails,Html,Ruby On Rails 4,Iframe,Rails 4.2、Ruby 2.1.2 我有一个html文件,现在就在我的应用程序的公用文件夹中。我试图找出如何在应用程序的iframe中提供该文件的内容。html文件是一个清晰的故事情节(但我认为这并不重要)。我确信该文件需要与浏览器“对话”,以确定如何呈现内容,如flash、HTML5等。。。该文件如下所示: <!DOCTYPE HTML> <html style="height: 100%;"> <head> <meta http-equiv="

Rails 4.2、Ruby 2.1.2

我有一个html文件,现在就在我的应用程序的公用文件夹中。我试图找出如何在应用程序的iframe中提供该文件的内容。html文件是一个清晰的故事情节(但我认为这并不重要)。我确信该文件需要与浏览器“对话”,以确定如何呈现内容,如flash、HTML5等。。。该文件如下所示:

<!DOCTYPE HTML>
<html style="height: 100%;">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<!-- Created using Articulate Storyline 1.2 - http://www.articulate.com  --> 
<!-- version: 1.2.1212.1412 --> 
<!-- saved from url=(0014)about:internet -->

<title>BasicSearch1</title>
<style>
body { margin: 0px; } 
object {outline: none;}
</style>
<script>
var g_bHtml5Supported = true;
</script>
<!--[if lte IE 9]><script>g_bHtml5Supported = false;</script><![endif]-->

<script type="text/javascript">

// Detect min flash version
var g_bMinFlash = false;

if (navigator.plugins["Shockwave Flash"])
{
var arrDescription = navigator.plugins["Shockwave Flash"].description.split(" ");
var nVersion = Number(arrDescription[arrDescription.length - 2]);

g_bMinFlash = (nVersion >= 10) || isNaN(nVersion);
}
在视图中

<iframe src="<% @file %>"></iframe>
<iframe src="<% @file %>"></iframe>
在视图中

<iframe src="<% @file %>"></iframe>
<iframe src="<% @file %>"></iframe>


结果:这一个看起来不像是呈现定义的iframe,而是将整个页面变成灰色

默认情况下,Rails阻止iframe 尝试将其添加到您的配置中

config.action_dispatch.default_headers = {
  'X-Frame-Options' => 'ALLOWALL'
}

默认情况下,这被设置为SAMEORACK,它阻止内容加载跨域-HI @ CKcorey,如果这个或任何答案已经解决了您的问题,请考虑通过单击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。