Html元素引起多次加载页面的问题分析

转载 2015年11月21日 10:05:56

本文转自http://blog.csdn.net/kimera/article/details/7567685

一、Button元素

button各个浏览器的表现,在w3c中,标准的button,其type是submit,等效于<input type=”submit” value=”xxx”/>

浏览器 type 行为 解决办法
Firefox submit 会提交表单 指定type
chrome submit 会提交表单 指定type
ie6 button 不会提交表单  
ie7 button 不会提交表单  
ie8 submit 会提交表单
  1. 当指定type为button时,则可以避免误用button。 如 <button type=”button” onclick=”dosomething();”>我不是提交</button>。
  2. 可以在onclick事件添加return false;避免提交, 如 <button onclick=”dosomething(); return false;”>我不是提交</button>。
  3. 通过在页面head处添加页面以ie7兼容模式查看,也可解决<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ />
ie9 submit(未测) 会提交(未测) ie9不支持xp,暂时无法测试,其号称是支持标准最规范,那么其默认是submit

综上所述,为了避免button在各个浏览器中解析的问题,在使用 button时,最佳方案应手动设置其type的类型,即使是submit。或者最佳用input控件

二、img,link,scriptr的src问题

当以下代码出现在html中
<link type=”text/css” href=”#” rel=”stylesheet” />
<script type=”text/javascript” src=”#”></script>
<script type=”text/javascript” src=”?”></script>
<link type=”text/css” href=”?” rel=”stylesheet” />
<img src=”#” />
<img src=”?” />
这些代码会引发将当前页面的输出流作为其src的值,造成页面的二次加载。在浏览器接收流时,会判断其格式(文本或图片)。当发现格式不匹配会主动关闭与服务器之间的连接。引发服务器抛出异常:ClientAbortException。

三、超链接的href问题

当A标签的href=”#”或href=”?”不会引发多次加载页面的问题。常见的会在a标签href赋值#,javascript:;,或javascript:void();其不同的值在不同的浏览器有不同的表现,会产生不同的行为。

href值 行为 优点 缺点
# 锚点会定位到页头 锚点使用可以快速定位当前页面中的位置 页面会有跳动
javascript:;和javascript:void(0); 无响应,死链接 在当前位置进行操作响应(如ajax请求,dom元素控制) 当需要页面整个刷新或跳转时在ie6下会不成功

当需要页面做一些处理后时行页面整个的提交或页面跳转,有以下方法
<a href=”#” onclick=”checkAndSubmit();return false;”>判断再提交</a>
<a href=”###” onclick=”checkAndSubmit();”>判断再提交</a>
<a href=”javascrpt:checkAndSubmit();”>判断再提交</a>
推荐第一种方案。

相关文章推荐

受css内嵌样式中使用 url 影响,页面出现多次加载问题

页面内嵌样式表中使用url(), 出现页面多次载入问题解决 来源:互联网 作者:佚名 时间:11-20 08:44:40 【大 中 小】 在最近的一个项目中,为了跟踪用户的登录的次...

如何处理页面多次加载的问题

工作中需要读取一个网页的内容,貌似很简单,但总也读不到完整的内容。经过页面分析,原来该页面的部分内容是通过调用js来获取的。再一看被调用的js文件,相当复杂,立刻让我打起了退堂鼓。。。 为了省点事,加...

通过jquery load在list页面多次加载详情页,导致的多form校验以及提交问题

jquery 多次load进来的同一个页面,多form校验,提交

HTML页面元素加载顺序研究报告

转自:详细见原文 HTML页面元素加载顺序研究报告(1)----简单Div罗列       一直没有意识到HTML页面的元素加载顺序有什么重要性,至多在操作DOM对象的时候注意把DOM对象写在脚本...

PHP 加载一次页面时, 浏览器请求多次, 导致出错

问题描述: 在一个项目中, 有一段统计页面浏览次数的代码, 其实现的方式是, 每次页面加载, 就 UPDATE SET 一次, 给数据表中对应的值加一. 碰到的一个问题是, 刷新页面时...

Javascript在ajax提交过程中页面显示加载中,请等待效果,并在提交过程中限制确定按钮防止多次提交,提交完成后,解除提交限制

加载中,请等待... 加载中,请等待效果图的CSS样式,设置其至页面中央:.center-in-center{             position: absolute;            ...

解决HTML加载时,外部js文件引用较多,影响页面打开速度问题

前言    通常HTML文件在浏览器中加载时,浏览器都会按照元素在页面中出现的先后顺序,对它们依次加载,一旦加载的js文件数量过多,就会导致页面展示延迟。那么,在开发的过程中,改怎么解决呢?   ...

WebView加载Html出现有时页面显示不全问题

在项目开发中经常会用到WebView加载Html,有时会遇到url显示不完整的问题下面是我在项目开发中遇到的情况#####先看WebView,这里我没有判断android 版本号在使用WebView加...

WebView 重定向行为导致的多次加载问题

使用 WebView 时,我们通常会重写以下方法: shouldOverrideUrlLoading() onPageStarted() onPageFinished()WebView ...

Python 被导入模块多次被加载的问题(基于python的import机制)

今天遇到了一个问题,我一个被导入模块的代码被执行了两次。一直听说python的module中的变量可以做单例的,怎么会执行多次呢。查看了一下 引用这个module的代码后发现,我两处的引用代码写的不太...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Html元素引起多次加载页面的问题分析
举报原因:
原因补充:

(最多只允许输入30个字)