如何解决好的,html4 框架已经“过时”了,但是如果不完全重新编写您的网站,似乎没有办法进行替换或者有吗?
查看 my NUFOSMATIC site 以查看来自国家 UFO 报告中心的 UFO 目击事件。大约 17 年前(我太老了),我在 ISP 提供的网络服务器上使用一种头脑简单的方法将它放在一起,该服务器除了 HTML、Javascript 和 Java 小程序之外没有任何方法可以提供任何服务。它对我有用。
几年前(好吧,6 年前)我(和其他人一样)被 Oracle 用 Java 弄得一团糟。我花了一些时间将站点的功能从 Java 小程序和我的原始地图从公开可用的数据迁移到 OpenLayers 和 OpenStreetMap。非常酷。从中得到了一些新东西,但我也失去了一些东西。
我最近一直在将地图升级到 OpenLayers 6。我最初的实现是 OpenLayers 2,他们设法用 OpenLayers 3 完全重写了 API,我终于找到时间来解决它,只是做这项工作。从 ol2 迁移到 ol6 需要四天时间!我实际上恢复了 Java 小程序的一些功能。
所以在我部署之前,我正在寻找其他我可能...现代化...在代码中的东西。我现在发现框架集/框架已经“过时”了——我还发现 HTML5 中没有任何东西可以像框架集/框架一样工作。
请注意,我看过的大部分网站都说“已过时”而不是“已弃用”——这听起来像是会消失的东西只要他们认为没有人在看...... >
基本上,我有四个框架:“corner”、“header”、“menubar”和“main”。当您从一个站点功能移动到另一个站点功能时,从“菜单栏”进行管理,“主”框架中的 HTML 将被替换。单个页面提供了一个位置来保存一些会话全局值(例如您正在查看的年份和月份)。
<frameset rows="80,*" frameborder="no" border="0" framespacing="0">
<frameset cols="100,*" frameborder="no" border="0" framespacing="0">
<frame name="cornerFrame" src="../html/cornerFrame.html" scrolling=no frameborder=0>
<frame name="headerFrame" src="../html/headerFrame.html" scrolling=no frameborder=0>
</frameset>
<frameset cols="100,*" frameborder="no" border="0" framespacing="0">
<frame name="menubarFrame" src="../html/menubarFrame.html" scrolling=no frameborder=0>
<frame name="mainFrame" src="../html/mainFrame.html" scrolling=yes frameborder=0>
</frameset>
</frameset>
这让我可以模块化我的 HTML(叹息、序列、热图和各种信息页面),其中更改一个不会搞砸所有其他。
我发现了数十个站点,其中包含半解决方案、不完整的解决方案、无功能的“解决方案”。我正在寻找一个可靠的例子。
提供的替代框架集/框架的解决方案似乎很难跟上进度。
iframe 标签看起来不像框架集/框架,尤其是我在这里使用的那种嵌套。
使用 CSS 和 div 标签来模拟框架的建议是不切实际的,因为所有代码都必须在一个文件中,这是不可能的。
有人建议服务器端解决方案是使用 PHP 即时制作页面的一种选择。好的,我已经用十几种语言进行了专业工作(甚至尝试在飞行模拟器上使用 Jovial 代码运行端口),但是学习一门新语言只是为了替换一些有用的东西似乎是在浪费我的几年时间离开了。
或者只是重写该死的网站,我已经做过两次了。只有一万行代码?它能有多难?除了这需要时间,而且我老了……老了……
而且我必须解决那个 cookie 协议的问题,这样我就不会和我在法国的朋友说荷兰语了...
解决方法
好的,这次我真的很接近了 - mainFrame 在底部被切断了,但行为真的很好。 cols=100,* 和 rows=100,* 并没有真正的等价物。我确定有一个 CSS 修复可以进一步改进...感谢 How to make width and height of iframe same as its parent div? 提供了一种强制 iframe 自我行为的方法。
<style>
div {
background-color: black;
color: yellow;
border: 1px solid blue;
margin: 8px;
}
#top {
height: 100px;
}
#bottom {
height: 100%;
clear: left;
}
#corner,#header {
height: 100%;
}
#corner,#menu {
width: 100px;
}
#corner {
float: left;
}
#menu {
float: left;
}
#header {
width: 100%;
}
#menu,#main {
height: 100%;
}
#wmain {
height: 100%;
}
iframe {
position: absolute;
top: 0px;
width: 100%;
height: 100vh;
}
</style>
<body>
<div id="top">
<div id="corner">
<div id="wcorner" style="position:relative">
<iframe frameborder="0" src="../html/cornerFrame.html" scrolling="no"></iframe>
</div>
</div>
<div id="header">
<div id="wheader" style="position:relative">
<iframe frameborder="0" src="../html/headerFrame.html" scrolling="no"></iframe>
</div>
</div>
</div>
<div id="bottom">
<div id="menu">
<div id="wmenu" style="position:relative">
<iframe frameborder="0" src="../html/menubarFrame.html" scrolling="no"></iframe>
</div>
</div>
<div id="main">
<div id="wmain" style="position:relative">
<iframe id="mainiframe" frameborder="0" src="../html/mainFrame.html"
scrolling="yes"></iframe>
</div>
</div>
</div>
</body>
,
我们已经原型化了从框架集/框架到 iframe/div 的映射。它看起来很不错。这些页面中有很多关于我们获得帮助的地方的参考资料。我们现在已经将这些更改添加到网站中,我们现在是框架集/框架免费!
http://nufosmatic.com/nufosmatic_prototype/iframe_div/
** 今天早上我们意外地将其发布到网站上,但我们也会解决这个问题。原来是一个“边距”,应该是“边距”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。