jquery - 使用 iframe 替代 html5 中的框架

标签 jquery html iframe frameset

我是 HTML5 的新手,我做了一些研究,发现 <frameset> 的使用已经过时了,从我读到的<iframes>不是。那么有人可以帮助我吗,我想获得与所示示例相同的结果,但同时使用 <iframes><frameset> 的另一个替代品这在 HTLM5 中没有弃用吗?

<frameset cols="20%,*,">
    <frame src="menu.html">
    <frame src="events.html">
</frameset> 

最佳答案

框架已被弃用,因为它们会给 url 导航和超链接带来麻烦,因为 url 只会给您带来索引页面(带有框架集),并且无法指定每个框架窗口中的内容。 如今,网页通常由服务器端技术(如 PHP、ASP.NET、Ruby 等)生成。因此,无需使用框架,只需将模板与内容合并即可生成页面,如下所示:

模板文件

<html>
<head>
<title>{insert script variable for title}</title>
</head>

<body>
  <div class="menu">
   {menu items inserted here by server-side scripting}
  </div>
  <div class="main-content">
   {main content inserted here by server-side scripting}
  </div>
</body>
</html>

如果您不完全支持服务器端脚本语言,您也可以使用服务器端包含 ( SSI )。这将允许您做同样的事情——即从多个源文档生成一个网页。

但是如果您真的只是想让您的网页的一部分成为一个单独的“窗口”,您可以在其中加载不一定位于您自己的服务器上的其他网页,您将不得不使用 iframe .

您可以像这样模拟您的示例:

框架示例

<html>
<head>
  <title>Frames Test</title>
  <style>
   .menu {
      float:left;
      width:20%;
      height:80%;
    }
    .mainContent {
      float:left;
      width:75%;
      height:80%;
    }
  </style>
</head>
<body>
  <iframe class="menu" src="menu.html"></iframe>
  <iframe class="mainContent" src="events.html"></iframe>
</body>
</html>

可能有更好的方法来实现布局。我使用了 CSS float属性,但您也可以使用表格或其他方法。

关于jquery - 使用 iframe 替代 html5 中的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18259232/

相关文章:

javascript - 如何从函数内部获取 JavaScript 变量值?

javascript - 使用 jquery 选择菜单创建 php 模板弹出窗口

javascript - onmouseout 时如何关闭组合框?

HTML 和 JSP 与 Oracle 使用 tomcat

html - svg clipPath 不剪辑

javascript - 如何使用javascript查找文件?

jquery - 无法检查动态 HTML 复选框

javascript - 为什么要调用 jQuery 的 unbind ('change' ) 方法来触发更改事件?

javascript - 如何注册div点击事件?

css - Twitter 嵌入式时间线背景颜色