注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > 数据库 > Oracle 内容正文:基于AJAX技术提高搜索引擎排名

基于AJAX技术提高搜索引擎排名

发布时间:2006-09-19 12:52:37 来源:天极开发 网友评论 0 条
  三、 嵌入式框架

  如果你关心浏览器兼容性的话,你应该使用嵌入式框架。一些老式的浏览器支持IFRAME元素,但不支持XmlHttpRequest对象。当然,使用这种方式还有如下一些理由:

  · 被加载到一个IFRAME中的内容在装载的过程中被显示于浏览器中,这向终端用户显示一个可视化进程。

  · 页面缓冲总是使用加载到一个IFRAME中的内容工作。一些版本的Opera还不能较好地使用XmlHttpRequest对象处理经缓冲的响应。

  为此,我们可以把一个空IFRAME插入到每一个DIV容器中,并且在每一个IFRAME后添加一个简短的JavaScript语句,如下所示:

<div id="header">
<div style="height: 100px; width: 100%"></div>
<iframe id="header_iframe" style="height: 0px;"></iframe>
<script>loadIframe("header","/navigation/header.html")</script>
</div>

  IFRAME的id应该等于以_iframe为后缀的占位符的id。loadIframe函数使用了两个参数:占位符的id和要加载到其中的URL。

  技巧

  如果你想在下载过程中使得IFRAME内容可见,那么你应该使用一个适当大小的IFRAME元素来替换在占位符内的空的DIV框。然而,如果你想使IFRAME保持不可见,那么你应该使用style属性来把它的高度设置为0以克服一些浏览器中的错误。

  启动装载过程的loadIframe函数是很简单的:

function loadIframe(id,url) {
 try {
  var iframeObj = document.getElementById(id+"_iframe");
  iframeObj.src = url ;
 } catch (err) {
  alert("cannot load "+url+" into "+id) ;
 }
}

  注意

  本文中所有示例代码都假定,浏览器兼容文档对象模型(DOM)。

  然而,还没有一种机制来通知请求页面所希望的内容已经被加载到占位符IFRAME中。因此,被装载的内容必须通知父页面(经由一个JavaScript调用)可以使用该内容了。实现这一操作的最好时机是,在页面加载完成以后。因此,在IFRAME内容中的BODY标志应该包含一个onLoad事件:

<body onload="contentLoaded('header')" style="margin: 0px 0px;
padding: 0px 0px">

  技巧

  加载到IFRAME中的内容的body部分应该总是有零边距和填充空白;否则,当把它集成到父页面中时,它将会轻微地迁移。

  在IFRAME的上下文中执行的contentLoaded函数将提取body部分相应的HTML内容并且把它传递到一个在父页面上下文中执行的函数,此函数将使用它来填充相应的占位符:

  contentLoaded在IFRAME上下文的上下文中执行:

function contentLoaded(parentID) {
 var myContent = document.body.innerHTML ;
 parent.copyContent(parentID,myContent);
}

  copyContent在父web页面的上下文中执行:

function copyContent(id,content) {
 try {
  var placeholder = document.getElementById(id) ;
  placeholder.innerHTML = content;
 } catch (err) {
  alert("Cannot copy HTML content into "+id);
 }
}

  现在,细心的读者应该感到疑惑,为什么这么复杂?在IFRAME元素中加载导航元素不是更简单一些吗?事实证明,对于此方法还要加一些防止误解的说明为好:

  · IFRAME具有固定的高度和宽度。如果内容彼此超出,则内容将被剪掉或者IFRAME要加上滚动条。然而,被复制到一个在父页面中的DIV元素中的HTML标记其大小却总是保持自动调整大小。

  · 当在一个IFRAME中时,在导航内容中的链接(一个元素)将装载IFRAME中的新页面,除非你把target="_parent"添加到每一个链接之后。

  · 依附到导航元素的JavaScript事件处理器将在IFRAME的上下文中工作(如果还保留这个上下文的话)。如果你把导航内容移动主页面上,那么事件处理器能够存取在主页面中定义的函数和变量。

 2/3   |‹ ‹‹ 1 2 3 ›› ›|
相关文章
  • 利用PHP+JavaScript打造AJAX搜索窗
  • 使用PHP和AJAX的XML编程
  • 使用AJAX技术构建更优秀的Web应用程序
  • 信息周刊:AJAX的优势
  • 掌握AJAX之AJAX通讯技术简介
【评论】【收藏本文】【打印】【关闭】
上一篇文章:J2ME网络编程以及网络游戏的实现
下一篇文章:Atlas快速入门之实战Atlas
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Atlas快速入门之实战Atlas
Atlas快速入门之实战Atlas
.net页面间的参数传递简单实例
.net页面间的参数传递简单实例
推荐阅讯
  • 解析Oracle 8i/9i的计划稳定性
  • AJAX入门之使用for实现反射机制
  • 小型软件的通用界面设计制作指南
  • Web 2.0下的门户网站建设
  • Web 2.0中AJAX技术应用详解
  • 体验Web3.0 网络操作系统Web OS尝鲜
  • 深入浅出MFC文档/视图架构之基本概念
  • 在定制Eclipse SWT组件中实现MVC
  • J2EE中使用Display标记库来展示表格
  • 七成人不知web2.0的不同解读
阅读排行
  • 1..net页面间的参数传递简单实例
  • 2.VC++与Matlab混合编程之引擎操作详解
  • 3.Oracle数据库数据对象分析
  • 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
  • 5.Oracle数据库中索引的维护
  • 6.在Oracle的网络结构中解决连接问题
  • 7.Oracle数据安全面面观
  • 8.Oracle数据库的ORA-00257故障解决过程
  • 9.Oracle数据库备份与恢复的三种方法
  • 10.Oracle与SQL Server在企业应用中的比较
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载