当前位置:编程学习 > C#/ASP.NET >>

关于脚本的加载方式,寻找高效解决办法。

最近开发一个款移动web app。即适用于安卓或ios浏览器客户端的asp.net程序。
考虑到移动web app的特点,客户端性能低,网络带宽低(没有wifi时只能用gprs或3g),
希望尽量减少网页体积。其中关于js代码的加载就很让我头疼,希望在这里能找到一个良方解决。

很多 js函数,是只有小部分网页共用的,比如整个应用100个网页,可能有3个网页都使用函数a,
有5个网页都使用函数b等等。
1 如果把这些可以共用的函数集中放到一个js文件里,时间长了,这个js文件越来越大,很多网页
   可能只需只需用到其中1或两个函数,都需要加载整个文件,影响了页面加载速度。
2 如果把这些函数分拆到不同的js文件,时间长了,产生一大堆js文件,每个页面上都需要引入一大堆js文件。
   容易产生重复引用,互相冲突之类的问题,而且出现问题不容易发现。
3 如果不用js文件,都直接写在网页上,缺点也显而易见,更新一个函数的时候,
  还必须记得更新其他网页相同的函数,维护困难。

我认为理想的加载方式:所有js函数集中在一个文件,网页上可指定需要加载的函数,网页在加载 js文件时只加载指定函数,
忽略不相关函数。有无办法? --------------------编程问答-------------------- 你的想法类似 easyui 的 easyloader
不是太复杂的话 用 GZIP压缩下js和css再发送。 --------------------编程问答--------------------
引用 1 楼 banian_cn 的回复:
你的想法类似 easyui 的 easyloader
不是太复杂的话 用 GZIP压缩下js和css再发送。


gzip已经开启了,但是除了速度是一个因素外,代码的维护也是个问题。 --------------------编程问答-------------------- 1. 你的浏览器不支持 http 304 状态机制吗?难道它不会有自动化的客户端缓存吗?

2. js中引用其它js文件,可以动态异步加载。例如使用yepnope.js。你不用纠结“重复加载”问题,大胆地加载吧。

3. 我同意一种做法,就是html文件上顶多只有一行“启动程序”的js代码,一般不允许有更多地js代码。 --------------------编程问答-------------------- 今儿是周末,学习了,sp换昵称啦啦啦 --------------------编程问答-------------------- 在脚本加载时候可以指定他为async
新的属性很方便

ps叫ie吃“翔”去吧 --------------------编程问答-------------------- 还可以用createelement来创建一个script的标签
同样ie吃“翔” --------------------编程问答-------------------- 你可能只是简单匹配我说的“异步”二字,而没有看懂lz的第二点需求。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,