论坛首页 Web前端技术论坛

用IFRAME实现AJAX的功能

浏览 9571 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-21  
大家好.我终于注册成功了.这个论坛我注册了1年终于成功了.
呵呵.可能以前HOTMAIL都白痴的厉害,老是掉邮件.

我只是一个写程序不久的小子.

最近公司的一个UI程序员MM,抱怨AJAX她很不喜欢,还是喜欢过去的IFRAME做法,
我看了她的代码我也很喜欢,共享给一些改造现有程序又不想用AJAX的朋友.

PAGE A:
<script>
  var iframeObj = document.getElementById("workFrame");
  function changeDiv(){
    iframeObj.src="url page b";
  }
  function changeFrom(){
    document.formName.target="workFrame";
    document.formName.submit();
  }
</script>
<input type="button" name="" value="Change Div" onclick="changeDiv();">
<input type="button" name="" value="Form div" onclick="changeFrom();">

<DIV id="divId">
  Main page Content
</DIV>
<Form id="formId" name="formName" action="url page b">

</Form>
<iframe id="workFrame" width="0" height="0" src="">


PAGE B ,iframe result page:


<DIV id="divId">
  iframe page result content .
</DIV>
<script>
  try{
    var div = document.getElementById("divId");
    var parent_div = parent.document.getElementById("divId");
    if(div){
parent_div.innerHTML = div.innerHTML;
    }
  }catch(e){
    alert(e);
  }
</script>

上面的代码应该还比较容易理解吧.我觉得这种方法很简单,虽然和AJAX一样不太直观,但是在我现在的工作中我觉得这是最容易上手的.并且在改造现有代码,算比较好的一种方式.现在老外也开始流行不刷页面的操作了.
当然页面的效果很多,写SCRIPT是少不了的.但是我还是讨厌SCRIPT,因为没有象ECLIPSE 那样好的重构工具.反正SCRIPT给我带来的麻烦太多了.

希望有人习惯.
我的处女贴啊.
   发表时间:2006-11-21  
你这只能算是一个简单的数据获取的功能。和AJAX还扯不上边。
AJAX比这要复杂的多。
但是AJAX要用好、不出问题,需要学的东西就太多了。
0 请登录后投票
   发表时间:2006-11-21  
iframe本来就是ajax的一种实现,
现在各浏览器对iframe支持都比较好了,

用iframe就是不能异步,只能顺序提交,
不过就算是用“正点”的ajax也应该避免使用异步功能
0 请登录后投票
   发表时间:2006-11-21  
AJAX比较难搞,主要是客户端的情况太复杂了,
如果大家都有一种浏览器就没有b/s,c/s的区别,
浏览器本身就是一个client,只是他走的是http协议,

同样一个脚本,在IE5,6,7的表现截然不同,
更不要说把其他的浏览器也扯进来了,

说不定以后的桌面就是一个super的browser

0 请登录后投票
   发表时间:2006-11-21  
AJAX比较难搞,主要是客户端的情况太复杂了,
如果大家都有一种浏览器就没有b/s,c/s的区别,
浏览器本身就是一个client,只是他走的是http协议,

同样一个脚本,在IE5,6,7的表现截然不同,
更不要说把其他的浏览器也扯进来了,

说不定以后的桌面就是一个super的browser

0 请登录后投票
   发表时间:2006-11-21  
giscat 写道
iframe本来就是ajax的一种实现,
现在各浏览器对iframe支持都比较好了,

用iframe就是不能异步,只能顺序提交,
不过就算是用“正点”的ajax也应该避免使用异步功能


为什么异步要避免。
当然在同步的情况下我也使用HTTPREQUEST,
但是至少在现实的应用中允许异步的操作远远多于同步。
AJAX我用过点,SCRIPT特效我们不谈,我觉得和AJAX没有关系。
至于调用后台API,
1 执行操作返回结果。
2 获取数据。
在这2个用途的前提下我至少认为iframe比AJAX方便的多。
哪来那么多复杂情况?
为了10%的复杂把所有的东西都搞得异常复杂,这叫累赘。
httprequest同步的时候感觉锁页面的,如果网络稍微慢点会给用户卡住的感觉。
0 请登录后投票
   发表时间:2006-11-21  
实际上我门也一直用iframe,
只要能用js操作父窗口就可以了
0 请登录后投票
   发表时间:2006-11-21  
iframe的一个毛病就是开多了会影响性能
0 请登录后投票
   发表时间:2006-11-21  
用gwt吧, 让你的美工MM下岗
0 请登录后投票
   发表时间:2006-11-22  
iframe 并发的话貌似有问题,曾经用ajax .net pro这个framework中遇到这个问题
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics