LLWiki正在建设中,欢迎加入我们

“LLWiki:管理员技术手册”的版本间差异

跳转到导航 跳转到搜索
(// Edit via Wikiplus)
(使用页面/文本对比查看器快速编辑)
 
====jquery====
jquery是任何页面都会预加载的两个环境模块之一,尤其在DOM操作和Ajax请求方面功能强大,非常推荐在JS编程之前预先熟悉[https://api.jquery.com/ API文档]。考虑到mw.loader已经集成了不少的常用Ajax方法,这里主要推荐熟练掌握DOM相关的内容,包括[https://api.jquery.com/category/events/ 事件]、[https://api.jquery.com/category/manipulation/ DOM操作]、[https://api.jquery.com/category/selectors/ 选择器]和[https://api.jquery.com/category/traversing/ 遍历]。特别需要提醒的是滥用htmlString有造成XSS的风险,因此请尽量使用如<code lang="js"><nowiki>$('<p>', {html: $('<a>', {text: '文字', href: 'https://llwiki.org'})})</nowiki></code>或<code lang="js"><nowiki>$('<p>').append( $('<a>').text('文字').attr('href', 'https://llwiki.org') )</nowiki></code>等语法进行规避。
 
另外jQuery也提供了一些[https://api.jquery.com/category/utilities/ 工具方法],可以用于缓解ResourceLoader的JS模块不允许使用ES6语法的问题,或是方便键值对相关的语句的书写,或是方便连锁。比如用<code>$.extend()</code>方法代替<code>...</code>算符、用<code>$.each(obj, (key, val) => {})</code>方法代替<code lang="js">for (const key in obj) {}</code>等。
====mediawiki.api====
====mediawiki.util====