如何解决打破框架保持内页变化动态更新旧的 cms
我正在更新 vBulletin 3 系列控制面板,它现在已经有十多年的历史了,它使用了令人讨厌的框架,这不仅使用起来很麻烦,而且在现代/移动浏览器中提供的功能非常有限。
默认情况下,框架设置有以下变量:
$navframe = '<frame src="index.PHP?' . $vbulletin->session->vars['sessionurl'] . "do=nav" . iif($cpnavjs,'&cpnavjs=1') . "\" name=\"nav\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" border=\"no\" />\n";
$headframe = '<frame src="index.PHP?' . $vbulletin->session->vars['sessionurl'] . "do=head\" name=\"head\" scrolling=\"no\" noresize=\"noresize\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"0\" border=\"no\" />\n";
$mainframe = '<frame src="' . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i',$vbulletin->GPC['loc']),create_full_url($vbulletin->GPC['loc']),'index.PHP?' . $vbulletin->session->vars['sessionurl'] . 'do=home') . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";
后跟以下框架集:
<frameset cols="195,*" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
<?PHP echo $navframe; ?>
<frameset rows="20,*" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
<?PHP echo $headframe; ?>
<?PHP echo $mainframe; ?>
</frameset>
</frameset>
这是一个很好的设置......对于 2000 年代初期来说,但现在是时候适应时代了,并且我个人在我开始更新它的所有论坛平台上都爱上了 vb3。
我的方法是为新的侧边栏、导航栏、页脚和相应的内容页面制作一个单独的文件,如下所示:
include("mob/header.PHP");
include("mob/sidebar.PHP");
// PAGE CONTENT
include("mob/footer.PHP");
然后我只是将每个页面包装在我的新模板中,直到我更新每个页面的内容。效果很好,虽然很痛苦,但很有效。
我已经开始想念框架的一件事是框架动态加载内容,因此侧边栏和标题永远不会重新加载,而内部内容会根据导航进行更改。现在你无法知道侧边栏或标题实际上在我的新设置中每次更改都在重新加载,除非它的加载速度很慢,而且效果很好,但我想知道 有没有办法让我无法重新加载侧边栏,没有框架的页眉和页脚?还是 iFrame 是唯一的解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。