frameset.php,4. 使用frameset

## 使用frameset

在许多应用程序内,尤其是“后台”类型的应用程序,很多时候都会用到frameset,也就是HTML的框架页面。

区分一下:

- PHP“框架”是php framework,泛指PHP的一种辅助应用程序,比如SpeedPHP框架

- HTML的“框架”是frameset,iframe等,泛指HTML的一个标签,主要用于在页面内显示别的网页。

本文主要讲述的是frameset,也就是HTML的页面框架的使用,还有一些常见问题的处理。

在HTML页面中,使用frameset其实相等于使用<a>标签来链接一个网页,只是该网页的显示是在当前页面之中。所以,在frameset的属性——网址(src),同样需要使用url()函数来进行网址的生成(生成URL)。

[例子下载](images/7.zip)

例子:

无标题文档

" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />

" name="mainFrame" id="mainFrame" title="mainFrame" />

这里是一个比较标准的frameset实例,页面被分为上下两个区域,加上本身页面一共是三个页面(HTML)

从例子可以看出,frameset的链接地址src,使用的仍然是url()来进行网址的生成。

protected/controller/MainController.php文件

class MainController extends BaseController {

function actionIndex(){

$this->display("main_index.html");

}

function actionTop(){

$this->display("main_top.html");

}

function actionBottom(){

$this->display("main_bottom.html");

}

}

这里MainController.php文件,通过三个动作actionIndex(),actionTop(),actionBottom()分别生成了三个页面,对应HTML页面中的三个页面。

从上面例子可以看出,其实frameset是多个页面的集合,所以从SpeedPHP的角度来看,就需要有多个action来一一对应多个页面。

常见问题:

1. frameset页面空白? 可以检查一下页面编码(要统一编码),比如UTF8,需要检查页面的,PHP文件和模板文件的文件编码等等。

2. 要传递一个参数到某个frame?比如说上面例子中,我们需要传递一个ID到top模板中,那么就需要在url()构造的地址中继续传递:,然后在MainController.php的function actionTop()内可以使用arg('id')接收并进行处理。

3. 页内框架(iframe)怎么样使用? 和frameset一样,iframe也需要通过url()来构造iframe的src地址。比如:<iframe src=""></iframe>。

4. 在框架(frameset)内点击某个链接,希望是另一个框架(frame)改变并显示链接的页面,怎么做? 每个frameset都有自己的name属性,比如上面的top部分的frame的name是name="topFrame",所以,可以在链接<a>中的target属性中设置为topFrame,那么点击这个链接就会在top中打开了。<a href="" target="topFrame">点击这里</a>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值