◆少前百科是非盈利性、非官方的少女前线维基百科。
◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科
◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科
◆To foreigners,You can use twitter to contact us.
Icon Nyto Silver.png

更改

跳转至: 导航搜索

GFwiki:常用代码

删除1,083字节2019年2月10日 (日) 13:05
JavaScript编写规范与bug收录
==JavaScript编写规范与bug收录==
本章节收录编辑在写widget与gadget时遇到的bug及解决方案,以做备忘
===ajax\XHRequest与[//www.mediawiki.org/wiki/Extension:Lazyload Extension:Lazyload]兼容的问题===
*经测试,通过异步加载请求的内容中,若含有通过解析器函数解析过的<pre><nowiki>[[文件:Foo.png]]</nowiki></pre>的图片,在部分浏览器下将无法使用[//www.mediawiki.org/wiki/Extension:Lazyload Extension:Lazyload],导致图片无法显示。
*初步通过将lazyload的挂钩脚本在异步请求成功后重新执行一次<pre><nowiki>$('.external-image, img[data-url]').lazyload()</nowiki></pre>得到了解决,但是由于Resourceloader经常抽风,会造成即使加载成功了ext.lazyload模块,以上脚本仍然不可以使用的情况。
*因此 采用try catch(e)的写法,若遇到Resourceloader无法加载模块的情况下,直接使用$.getScript来获取lazyload组件的情况<pre><nowiki> try{$('.external-image, img[data-url]').lazyload();}catch(e){console.warn("Resource Loader error, try to get Script Directly");$.getScript("/extensions/Lazyload/modules/lazyload.js")}</nowiki></pre>
===ResourceLoader在加载js扩展时需要重复执行命令的情况===
*一般情况下,通过Resourceloader加载的js扩展在执行完毕后会从网页中脱离,需要重复执行命令时,可通过<pre>mw.loader.load('模块名称');</pre>加载,即可在同一页面中重复执行。
*解决办法
*# 刷新页面;
*# 直接将js模块作为gadget、widget载入或者写入common.js中。直接将js模块作为gadget、widget载入。
14,357
个编辑

导航菜单