CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [转贴] 有IFrame,我们干吗还要用Ajax?
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  楼主
发表于 2008-3-18 13:23  资料  个人空间  短消息  加为好友 
开发者在线

有IFrame,我们干吗还要用Ajax?

Ajax现在很火的,它的用途大家都知道,但你知道不?表面看Ajax页面没有刷新,其实它是刷新了整个页面的,只是看不到而已,不信,打开Vs的IDE,跟踪一下就知道了。   
   
  其实网页局部刷新,完全可以不用Ajax那么复杂的东西,利用IFrame   就可以了。下面我给他大家一个测试代码:   
   
  网页index.htm,客户端测试网页,   
   
  <html>   
   
  <head>   
  <meta   http-equiv="Content-Type"   c>   
  <title>Ajax模拟文件</title>   
   
  </head>   
   
  <body>   
   
   
  <br>   
  有了它,我们干吗还要用Ajax?   
  <span   id="spanTrue">spanTrue</span>   
   
  <script   language="javascript">   
  //通用函数,请求服务器文本   
  function   GetServerText(RequestUrl)   
  {   
  if(!window.spanIFrame)   
  {   
  var   spanIFrame=document.createElement("span");   
  spanIFrame.id="spanIFrame";   
  spanIFrame.innerText="";   
  spanIFrame.style.display="none";   
  document.body.appendChild(spanIFrame);   
  }   
   
  if(!window.IFrameRequest)   
  {   
  var   IFrameRequest=document.createElement("iframe");   
  IFrameRequest.id="IFrameRequest";   
  IFrameRequest.src=RequestUrl;   
  IFrameRequest.style.display="none";   
  document.body.appendChild(IFrameRequest);   
   
  }   
  else   
  {   
  window.IFrameRequest.location.reload();   
  }   
  return   window.spanIFrame.innerText;   
      
  }   
   
  //客户端方法,自己定义刷新那个控件,多少时间。   
  function   ShowServerTime()   
  {   
  spanTrue.innerText=GetServerText("remote.asp");   
  window.setTimeout("ShowServerTime();",1000);   
  }   
   
  ShowServerTime();   
  </script>   
   
  </body>   
   
  </html>   
   
   
  网页remote.asp,很简单,就是一个显示服务器时间的程序。   
   
  <script   language="javascript">   
  function   setParentObjValue(objName,setValue)   
  {   
  window.parent.document.getElementById(objName).innerText=setValue;   
  }   
  setParentObjValue("spanIFrame","<%=Time%>");   
  </script>   
  其中 spanIFrame 就是客户端创建的一个标记而已。这样就把服务器端的内容返回到客户端了。   
   
      
   
  是不是很简单啊?那我们干嘛还要用Ajax呢?如果你的网页无刷新需求很简单,完全没有必要再用Ajax了。




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  沙发
发表于 2008-3-18 13:24  资料  个人空间  短消息  加为好友 
不能这么说,首先,如果需求复杂一点,iframe并不见得容易处理   
  其次,为了无刷新而引入iframe,可能会破坏页面的布局,而且是完全没必要的




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 07:44

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.061037 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版