Site Notice
hello, world
Difference between revisions of "Github CDN"
From Project-EPB Commons
([InPageEdit] →调用: 没有编辑摘要) |
([InPageEdit] →调用: 没有编辑摘要) |
||
Line 16: | Line 16: | ||
</div> | </div> | ||
<script> | <script> | ||
− | + | !(function () { | |
− | + | var _interval = setInterval(function () { | |
− | + | if (typeof $ !== 'function') return; | |
− | + | clearInterval(_interval); | |
− | + | $('#showUrl').val('https://cdn.jsdelivr.net/gh/...'); | |
− | + | $('#dataForm').keyup(function () { | |
− | + | var url = '', | |
− | + | $this = $(this), | |
− | + | formData = '?' + $this.serialize(), | |
− | + | para = function (i) { return mw.util.getParamValue(i, formData) }, | |
− | + | user = '/' + para('user'), | |
− | + | repo = '/' + para('repo'), | |
− | + | version = para('version') !== '' ? '@' + para('version') : '', | |
− | + | file = '/' + para('file'); | |
− | + | url += user + repo + version + file; | |
− | + | $('#showUrl').val('https://cdn.jsdelivr.net/gh' + url); | |
− | + | $('#purgeBtn').attr('data-url', 'https://purge.jsdelivr.net/gh' + url); | |
− | + | }); | |
− | + | $('#purgeBtn').click(function () { | |
− | + | var $this = $(this), | |
− | + | url = $this.attr('data-url'); | |
− | + | if (url) { | |
− | + | $this.attr('disabled', 'disabled'); | |
− | + | $.get(url).done(res => { | |
− | + | console.log(res); | |
− | + | }).fail(err => { | |
− | } | + | console.error(err); |
− | } | + | }).always(() => { |
− | }); | + | $this.attr('disabled', false); |
− | }); | + | }) |
+ | } | ||
+ | }); | ||
+ | }, 200); | ||
+ | })(); | ||
</script> | </script> | ||
</html> | </html> |
Revision as of 01:38, 15 August 2020
用法
https://cdn.jsdelivr.net/gh/用户/仓库@分支/文件名
调用
<html> <div class="in-page-edit"> <input id="showUrl" readonly onclick="this.selected = true" style="width:80%"></input><button id="purgeBtn" class="btn btn-danger">purge</button> <form id="dataForm"> <label>用户:<br/><input name="user" value="dragon-fish"/></label><br/> <label>仓库:<br/><input name="repo" value="inpageedit-v2"/></label><br/> <label>分支:<br/><input name="version" value="master"/></label><br/> <label>文件:<br/><input name="file" value="script.js"/></label> </form> </div> <script> !(function () {
var _interval = setInterval(function () { if (typeof $ !== 'function') return; clearInterval(_interval); $('#showUrl').val('https://cdn.jsdelivr.net/gh/...'); $('#dataForm').keyup(function () { var url = '', $this = $(this), formData = '?' + $this.serialize(), para = function (i) { return mw.util.getParamValue(i, formData) }, user = '/' + para('user'), repo = '/' + para('repo'), version = para('version') !== '' ? '@' + para('version') : '', file = '/' + para('file'); url += user + repo + version + file; $('#showUrl').val('https://cdn.jsdelivr.net/gh' + url); $('#purgeBtn').attr('data-url', 'https://purge.jsdelivr.net/gh' + url); }); $('#purgeBtn').click(function () { var $this = $(this), url = $this.attr('data-url'); if (url) { $this.attr('disabled', 'disabled'); $.get(url).done(res => { console.log(res); }).fail(err => { console.error(err); }).always(() => { $this.attr('disabled', false); }) } }); }, 200);
})(); </script> </html>