喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

招聘PHP开发人员(北京)

上一主题 下一主题
     
标题: [原创] MTIR使用教程  
 
monkeye
注册会员
Rank: 2
一般会员



UID 16937
精华 0
积分 115
帖子 97
金钱 115 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2002-10-10
来自 PHPSo、Discuz!
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
MTIR使用教程

MTIR使用教程

原自 MVC.PHPSo.Com

(以下为课堂授课记录)

  要用MTIR做东西,第一步,自然是引用到这个脚本了(费话,读者:是的引用到了)。但是,这个脚本他不会简单的被引用后,啥事也不做(读者:哦这个是自然的)。只要引用了它,它会自动在页面 onload 的时候分析当前页面是否有它要找的标记。他要寻找的标记有2种:

  1、<span _frame>
  2、<a _target> <form _target>

  但是你不用亲自加 onload ,MTIR自己会加的。所以脚本在没有onload完毕的时候,所有效果都不会有,如果那时你比较着急,点击了肯定都会有错误。这是一个细节。

  然后说说作用(读者:不刷新。汗~)。作用呢 <span _frame></span> 表示此处为MTIR的一个动态区域,这个标记是必须有的。当然为了识别,必须有一个id。只要存在这样的<span>,那么在MTIR中你就可以把它当成一个frame处理。

  就像链接 <a href='list.php' target=frame>,但是比较特殊 <a href='list.php' _target=frame>(读者:改了??)。要多加一个“_”
,写成“_target”。只有这么写 MTIR才会认为你要把这个链接打开到那个MTIR的Frame中,而不是通常的一个frame,实现页面内部的无刷新。因此...MTIR实际上就是那么简单,设置一个显示区域 <span id=frame1 _frame></span> 然后在这个区域打开一个页面 <a href='list.php'
_target=frame1>链接</a>

  当然,同样,<form>一个表单显示的结果也可以显示在这个MTIR的frame中,方法依然是 <form target='frame'> 修改成 <form _target='frame'>。POST还是GET不限,都可以。因此对于MTIR的基本使用中,你不需要写任何的JS就可以实现无刷新的效果,这就是MTIR的特点

  当然,MTIR本身还是附加了一些js供使用者使用。比如,任何一个你已经声明的MTIR frame中你都可以这么用 frame1.location('list.php')。注意不是 frame1.location='list.php' ,而是一个函数 frame1.location('list.php')。这是MTIR自动为所有页面中的MTIR frame设置的函数。(读者:自己写的???)是的,作用自然和点击链接 <a href='xxx' _target=frame1>的效果是一样的。这是为了有些效果需要用JS设计的时候准备的。当然 frame1.location('list.php') 这么写不符合HTML标准。 document.getElementById('frame1').location('list.php'); 这么写才是标准的写法。尽管对IE来说,不标准也可以,但是养成习惯还是很好地(读者:哦好的)。

  考虑到有些人喜欢页面一开启的时候,就打开某某MTIR frame,因此自己可以设置定义1个函数,这个函数的函数名是固定的function frame_init()  
  如:

function frame_init() {
document.getElementById('dis').location('list.php');
}

  只要有这个函数,MTIR会在onload的时候自动运行这个函数。如果没有,当然就不运行了,呵呵。同时,你自己的一些onload的附加的也可以写在这里,反正不用白不用。这个函数中的内容都会每次onload的时候被运行。

  然后....为了附加一些类似Ajax的效果,当然自己可以额外的附加一些小东东。当然这是MTIR功能之外的,纯属HTML本身的效果,你可以随意用。比如 dis3.location('prg2.php'); 的时候 document.getElementById('dis3').innerHTML='Loading...'。 这样可以显示一个Loading... 看起来蛮
帅的。

  然后...说说额外的,MTIR允许嵌套。也就是说你打开的MTIR页面中还允许包含<span _frame>标记和<form _target>表单提交等任何MTIR允许的内容。这样,可以让MTIR在一个页面中互动起来,非常的灵活。

  最后说说链接中的内容,<a href='list.php' _target='frame1'>,那么list.php中返回的内容要有什么才可以符合呢?可以说...没限制,写什
么都可以。(读者:什么内容都可以吧)是的,只是不允许远程调用 。你不能 <a href=http://www.sohu.com>。list.php中最好有<body> (读者:为什么???)。但是没有也没关系,MTIR只会获取 list.php <body>中的内容。如果你的list.php中没有表单<form>的话可以不写<body>,如果有<form>必须写<body>。如果你要附加什么JS命令,可以附加在<body>前,还有如果附加什么<meta>设置也可以附加在<body>。

  MTIR不存在Ajax的那种内码冲突,主页是UTF8的子页面是GBK的依然可以。但是你最好..别那么做,自己做东西总要有个内码统一吧。但是至少不用像制作Ajax那样不支持中文的问题。你可以在子页面生成的时候发送 header("content-Type:text/html;charset=utf-8");。

  还有最后一个,子页面可以不用写样式表,样式表会跟随主页自动生效。

Myth Genius(22118227) 16:17:21
好的你听
我关于表单提交有问题

monkeye(10433182) 16:26:53


Myth Genius(22118227) 16:18:21
<form action="" method="post" _target="man">
</form>

Myth Genius(22118227) 16:18:36
我这个在本页提交对不???

monkeye(10433182) 16:27:20
action别为空

Myth Genius(22118227) 16:18:51
为什么???

monkeye(10433182) 16:27:40
否则_frame区会显示一份主页自己

Myth Genius(22118227) 16:19:31
难怪呢???那写上当前页的名字总可以吧

monkeye(10433182) 16:28:29
那不和不写的效果是一样的吗?

monkeye(10433182) 16:28:41
你要显示什么单独写个文件
提交到那里

Myth Genius(22118227) 16:20:10
啊你的意思是不能本页提交??

monkeye(10433182) 16:28:57
或者你自己PHP文件控制好流程

Myth Genius(22118227) 16:20:18
难怪呢

Myth Genius(22118227) 16:20:36
那可能我搞定了。

monkeye(10433182) 16:29:22
比如
if($_POST) {
显示什么
} else {
显示什么
}

monkeye(10433182) 16:29:28
这样内容就分开了

monkeye(10433182) 16:29:58
但是注意子页中不要包含header
如果你的网页设计每页都显示header的话
子页不要显示

Myth Genius(22118227) 16:21:18
哦还是写一个文件比较好

Myth Genius(22118227) 16:21:53
哦看来我要试下了

monkeye(10433182) 16:30:39
MTIR 兼容 IE Firefox Opera

monkeye(10433182) 16:30:50
常用浏览器
都没问题

monkeye(10433182) 16:30:56
尽管设计好了

Myth Genius(22118227) 16:22:50
好的,我要去做了10分钟 计时

  说个凡是Ajax type网站都有的问题,对了还有个问题。Ajax的不容易被Google收录,所以要收录的页面自己设置好单独页。
MTIR也是如此,但是 <a href='' _target=frame1>的会被收录,因此比Ajax还有些优势的。

Myth Genius(22118227) 16:24:22
<php
require"../include/common.inc.php";
?>
<html>
<head>
<script src="MTIR.js"></script>
没有问题吧

monkeye(10433182) 16:33:19

但是,子页面不要这么写了
子页面不需要写mtir.js调用
mtir本身支持嵌套

Myth Genius(22118227) 16:25:06
这个是的
不管我先去了

monkeye(10433182) 16:34:09
子页面嵌套n层都没事




代码就像自己的孩子,你要投入真挚的感情去爱护她
2006-9-22 08:14 PM#1
查看资料  访问主页  发短消息  顶部
 
fcicq
新手上路
Rank: 1
初级会员



UID 24467
精华 0
积分 21
帖子 587
金钱 20 喜悦币
威望 0
人脉 1
阅读权限 10
注册 2003-11-8
来自 fcicq.net
状态 离线
[广告]: 代充Paypal帐号美元
都转滥了...晕.
===
呵呵.一般要首发于此,老文章不该再放进来的.(未发表除外...)

[ 本帖最后由 fcicq 于 2006-9-22 08:19 PM 编辑 ]





2006-9-22 08:15 PM#2
查看资料  访问主页  Blog  发短消息  顶部
 
monkeye
注册会员
Rank: 2
一般会员



UID 16937
精华 0
积分 115
帖子 97
金钱 115 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2002-10-10
来自 PHPSo、Discuz!
状态 离线
[推荐阅读] js弹出对话框!!!
是我自己写的,转载于此

[ 本帖最后由 monkeye 于 2006-9-22 08:24 PM 编辑 ]




代码就像自己的孩子,你要投入真挚的感情去爱护她
2006-9-22 08:17 PM#3
查看资料  访问主页  发短消息  顶部
 
菜鸟也要有理想
中级会员
Rank: 3Rank: 3
一般会员



UID 65342
精华 0
积分 439
帖子 426
金钱 439 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-8-1
状态 离线
[推荐阅读] 网页树形结构问题的一种解决办法
支持猴子
MTIR很好用
可以拿来做滑动门什么的
2006-9-23 09:01 AM#4
查看资料  发短消息  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 请教一个正则替换的问题
在上一篇文章看到的作者签名是同一个名(http://mvc.phpso.com/?file=help&v=23

)。

虽不是首发,也为原创,但不是首发,只能给大家一个交流技术了。http://www.phpx.com/happy/thread-119237-1-1.html




五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-9-23 09:14 AM#5
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 2575
帖子 4783
金钱 2572 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 现在社会哪个做网站的技术最热
曾经试着用过
连接、表单都没有问题
但是在自己做的一个项目中使用不了了
那个页面采用部分js生成的html其中包括<span _frame>来实现嵌套的结果
结果没有起到作用
一段时间我都是使用自己写的脚本通过隐藏的iframe载入数据
只不过这种脚本要分为两个部分 主页面上一种 载入数据的页面上另一种




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-9-23 09:28 AM#6
查看资料  Blog  发短消息  顶部
 
monkeye
注册会员
Rank: 2
一般会员



UID 16937
精华 0
积分 115
帖子 97
金钱 115 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2002-10-10
来自 PHPSo、Discuz!
状态 离线
[推荐阅读] 真郁闷
MTIR就是整合IFRAME的无刷新技术
支持IFO3个浏览器




代码就像自己的孩子,你要投入真挚的感情去爱护她
2006-9-24 09:45 PM#7
查看资料  访问主页  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024210 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP