自定预加载JS库

尽可能地使依赖JS库的页面能正常呈现

Автор
adan1
Щоденних встановлень
0
Всього встановлень
1 512
Рейтинги
13 1 0
Версія
1.0
Створено
10.03.2016
Оновлено
10.03.2016
Ліцензія
Н/Д
Відноситься до
Всі сайти

使用方法:点击猴子扩展图标,但弹出的菜单框里选择“快捷”或“高级”菜单。
注意跟PreloadJS库是两码事,这脚本名的确有歧义,名字也不太好起。



浏览国外网站时,不少网页引入了Google CDN资源,国内大陆网民便会被此卡住,整页动不了,真的苦恼为何这么喜欢用Google的CDN,借此限制大陆网民吗。。。上动漫官网时经常遇到这些情况,开代理翻墙可以解决,不过免费的有流量限制,网站本身是没被墙的,仅仅为了这么几个小小JS库正常运作而耗费大量流量感觉非常不值得呀。
列一些例子:


诸如某页面的JS库被墙或资源失效或链接龟速,设置页面预加载页面所需的JS库,以解决某些网站页面异常。
以上便是写此脚本的初衷,后来延伸到注入自定义脚本,比如通过document.write等破坏形式脚本来屏蔽匹配到的百度广告。然而写完后想想好像跟猴子扩展撞车了,一瞬间感觉逗逼了怎么重复造轮子呀。。。论注入实现,知识有限暂没更可行的方式,而重点还是在数据存储和UI上花了大部分时间,算是试水学习写写GM内置的其他功能。



[2016-03-10]
大概写了个基本功能的版本,选项界面功能还有小部分未实现,在各网页兼容样式太烦了,在
W3S上完全变了样。。。
已知问题:
1. 在IFRAME过多的网页上运行脚本会造成卡顿,
比如此页面高达100个卡了一两分钟。此次写的冗余脚本有一点的性能影响,不过就脚本的最大匹配模式肯定避免不了。
2. pathname的大小写逻辑
3. 对多个网页同是进行保存更新而产生的并发数据并没研究
4. 只在GM上存储了数据,还没研究与Cookies、localStorage的最优选。
5. 当注入的脚本中含有破坏整个网页结构的时候,$将无法访问,导致无法触发document event,也无法出现菜单。
6. legacy TM的菜单BUG,只要点击第一个菜单,该菜单就会跑到列表末尾。
7. 未找到停止加载卡着不动的脚本的方法,所以只能等待网页加载完成后才能打开菜单。