问题描述
我正在更新 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 (将#修改为@)