搜索

查看: 9|回复: 0

巧用注释实现不支持javascript的浏览器功能优雅降级

[复制链接]

489

主题

0

好友

1764

积分

管理员

发表于 6 天前 |显示全部楼层
首先看一段示例代码:
  1. <div id="wrap">
  2. <script type="text/javascript">
  3.         document.write('<\!--');
  4. </script>
  5. <iframe src="xxx.html" frameborder="0" scrolling="no" width="320" height="384"></iframe>
  6. <!-- DO NOT DELETE -->
  7. </div>
  8. <script type="text/javascript">
  9. //xxx scroll、resize等条件执行下面滴
  10. Ajax.get('xxx.php', function(ret){$('#wrap').html(ret)});
  11. </script>
复制代码
使用场景是这样的:就是页面在往下拖到一定距离滴时候会动态出来一块内容,但是为了保证不支持javascript的浏览器也能正常看到这块内容,需要做兼容处理。
可能有同学会说为啥不直接<noscript>搞定?是因为我们发现在中国这个奇葩环境下,我们的部分用户不是不支持js,而是jscript.dll等文件被破坏导致出现js支持但是解析不了的情况,所以出现了上面这个奇怪滴解决方案。
主要思路就是用js write出来html注释,使在js正常的情况下html代码不解析,然后使用正常的html注释的方式来关闭js写出来的注释(注意这里的注释开始符会被当做js写出来的注释的注释主体)使后续的html代码能正常解析。
不过,这样滴代码毕竟不是良好的代码风格,如果在项目中有使用html压缩等需要单独给功能形注释取消压缩,就如IE条件注释一样。

原文
友荐云推荐
回复

使用道具 举报

手机版|Archiver|w3cvip.com  

GMT+8, 2013-2-12 07:46 , Processed in 0.043649 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部