设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
ci怎么载入含有frameset框架的视图?
1
2
3
4
/ 4 页
下一页
返回列表
查看:
17993
|
回复:
31
[HELP]
ci怎么载入含有frameset框架的视图?
[复制链接]
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
发表于 2011-2-6 17:20:24
|
显示全部楼层
|
阅读模式
RT
终于搞完了登入登出部分,现在开始做界面了,第一个问题都难倒我了,我写的html模版,单独显示完全正常,一旦用控制器载入,就完蛋了,什么都显示,贴出代码如下,
这是控制器部分的代码:
PHP
复制代码
function
index
(
)
{
//redirect('http://192.168.1.8/application/views/sys/index.htm');
$this
->
load
->
view
(
'sys/index.htm'
)
;
}
复制代码
这是视图部分代码:
HTML
复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/
>
<
title
>
OA/CRM集成办公系统 V1.0
<
/
title
>
<
/
head
>
<frameset
rows
=
"76,*,20"
frameborder
=
"1"
framespacing
=
"0"
border
=
"1"
>
<
frame
name
=
"banner"
id
=
"banner"
frameborder
=
"1"
scrolling
=
"no"
noresize
=
"noresize"
src
=
"http://192.168.1.8/index.php/index/echobanner"
>
<frameset
cols
=
"176,*"
border
=
"1"
frameborder
=
"1"
framespacing
=
"0"
>
<
frame
name
=
"menu"
id
=
"menu"
frameborder
=
"1"
scrolling
=
"no"
noresize
=
"noresize"
src
=
"http://192.168.1.8/index.php/index/echomenu"
>
<
frame
name
=
"body"
id
=
"body"
frameborder
=
"1"
scrolling
=
"no"
noresize
=
"noresize"
src
=
"http://192.168.1.8/index.php/index/echobody"
>
<
/
frameset>
<
frame
name
=
"status"
id
=
"status"
frameborder
=
"1"
scrolling
=
"no"
noresize
=
"noresize"
src
=
"http://192.168.1.8/index.php/index/echostatus"
>
<
/
frameset>
<
/
html
>
复制代码
如果用redirect()直接调整过去,看到的页面是正常的。
对照html标记的说明,frameset好像是不能跟body一起用,我的html代码里面没有用body,难倒是一用load->view('sys/views'),codeigniter就自动给我加上了body标记了吗?
请各位大侠赐教!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
jeongee
jeongee
当前离线
积分
5619
IP卡
狗仔卡
发表于 2011-2-6 19:55:48
|
显示全部楼层
本帖最后由 jeongee 于 2011-2-6 19:57 编辑
不会,你的视图文件应该是php后缀的,下面是ci加载视图文件的部分代码:
PHP
复制代码
if ((bool) @ini_get('short_open_tag') === FALSE AND config_item('rewrite_short_tags') == TRUE)
{
echo eval('?>'.preg_replace("/;*\s*\?>/", "; ?>", str_replace('
<?=
', '
<?php
echo
', file_get_contents($_ci_path))));
}
else
{
include($_ci_path); // include() vs include_once() allows for multiple views with the same name
}
复制代码
回复
支持
反对
使用道具
举报
显身卡
zfm1988
zfm1988
当前离线
积分
332
IP卡
狗仔卡
发表于 2011-2-6 22:36:07
|
显示全部楼层
我要说明下frameset就是不需要body的,看下我的一个页面
PHP
复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
<?php
echo
$webconfig
[
'name'
]
;
?>
-管理后台</title>
</head>
<frameset rows="30,*" cols="*" frameborder="no" border="0" framespacing="0">
<frame src="header" name="topFrame" id="topFrame" scrolling="no" noresize="noresize"/>
<frameset cols="162,*" frameborder="no" border="0" framespacing="0">
<frame src="menu" name="leftFrame" id="leftFrame" scrolling="yes" noresize="noresize"/>
<frame src="main" name="mainFrame" id="mainFrame" scrolling="auto"/>
</frameset>
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>
复制代码
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-6 22:52:31
|
显示全部楼层
2L版主,htm后缀的跟php后缀的有什么区别吗?
楼上的,我的跟你的没啥差别,只是删掉了<noframe>这点无用的代码。
我试试看用.php后缀的。
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-6 22:55:45
|
显示全部楼层
试了,换成是php后缀的,还是不行呀!
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-6 23:00:22
|
显示全部楼层
2L版主,能不能帮忙看看我的代码啥问题?
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-6 23:38:39
|
显示全部楼层
用谷歌浏览器的审核元素功能,发现不知道在什么时候,页面最前面已经被<body>。。。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50178
IP卡
狗仔卡
发表于 2011-2-7 00:19:37
|
显示全部楼层
这个和 frameset 无关,这是浏览器的事情,你的 CI 只管输出,而具体显示成什么样要由浏览器决定。
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-7 00:37:59
|
显示全部楼层
皇天不负有心人,追查了一天一夜,终于让我找到原因了:
用谷歌浏览器的审核元素功能,发现不知道在什么时候,页面最前面已经被<body>。。。
居然是config.php文件的问题!!!!
原始的config.php文件是GBK编码的,我修改成utf-8,然后,codeigniter系统就会在加载视图(甚至在加载控制器前)就发出了一个header命令,所以就造成了在load view时已经有了body,有了body标记,就跟frameset标记产生了冲突!
教训:codeigniter的config文件千万不要修改成utf-8编码!!!!!
可这样问题又出来了:我设置的一些变量里面肯定是有utf-8编码的中文字符的,如果config是gbk的,在我utf的页面里面显示只能是乱码了!!!
怎么解决,哪个大侠给个方案?
回复
支持
反对
使用道具
举报
显身卡
zuimengt
zuimengt
当前离线
积分
112
IP卡
狗仔卡
楼主
|
发表于 2011-2-7 01:25:44
|
显示全部楼层
ci有utf-8版本的没?
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
3
4
/ 4 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页