html src什么值显示空,避免空的src 和href 属性值

我们经常可以看到这样的情景,在页面加载的过程中,一个有着空src 属性的img元素被JavaScript 动态地赋值。这样做的问题是,在脚本执行之前元素就被浏览器渲染了(尤其是当你把脚本放到文档最后的时候)。所以浏览器依然会发起一个HTTP 请求,虽然它是一个空值。

同样的问题也发生在href 这个属性上。有些时候,开发人员想用超链接来触发JavaScript 的一个交互。这时问题就来了,当用户触发了“单击”操作,如果 href 是空的那么浏览器就向服务器发送一个HTTP 请求。这虽然不影响加载时间,但是会对服务器产生不必要的流量和压力,严重的以至于影响整个网站的用户体验。有一个简单的解决办法就是把href 的值设成JavaScript 语句,一条什么都不会做的语句。清单3-3  就是一个例子。

清单3-3:修正没有href 属性的a 标签

Trigger

显然用这条JavaScript 语句不是最好的解决方案,我们希望有更好的办法,既可以在状态栏上有文字描述(当鼠标光标移到超链接上时),还可以阻止href 被请求。清单3-4告诉了我们如何去做。

清单3-4:给a 标签创建一个带有描述信息的href 属性

Trigger

$("#triggerName").clic k(function(e){

e.preventDefault(); //取消单击事件的默认动作以阻止链接的跳转。

//  其他的代码

})

这样做的好处就是用户可以在单击之前得到一些提示,而且单击后也不会产生不必要的HTTP 请求。

有一点要指出的是,稍后会有不同的解决方案来应对用户关闭了 JavaScript 支持或JavaScript 不可用的情况,在那种情况下,会用一个真正的超链接。

还有一点要指出的是,空的 src 和href 也是会产生报错的。如果在发送空属性值的时候,追踪请求头的状态(用 cookie 或其他办法),是无法追踪到状态的。从这一点上来说,有很高的概率会让用户抓狂,如果他们有别的选择一定会离你而去,如果没有,他们只能跳脚叫骂了。

当然,每一个空属性的发送都会完整地写到日志文件里,如果发现有大量的这种日志,最好还是找到原因然后修复它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值