「Widget:萌百条目」:修訂間差異
跳至導覽
跳至搜尋
imported>=海豚= 無編輯摘要 |
imported>Irukaza 無編輯摘要 |
||
(未顯示由 2 位使用者於中間所作的 255 次修訂) | |||
第1行: | 第1行: | ||
<noinclude> | <noinclude>Only for {{tl| 萌百 页面嵌 入}}</noinclude> | ||
< | <includeonly> | ||
<script> | |||
const jsonp = (() => { | |||
let incrementCallbackKey = 0 | |||
. | |||
. | return function jsonp(config) { | ||
return new Promise((resolve, reject) => { | |||
const scriptTag = document.createElement('script') | |||
} | const requestUrl = config.url + '?' + new URLSearchParams({ | ||
...config.params, | |||
callback: '___jsonpCallback' + ++incrementCallbackKey, | |||
}).toString() | |||
/ | scriptTag.src = requestUrl | ||
window['___jsonpCallback' + incrementCallbackKey] = resolve | |||
scriptTag.onload = () => scriptTag.remove() | |||
scriptTag.onerror = () => reject(new Error('jsonp request error')) | |||
document.body.appendChild(scriptTag) | |||
setTimeout(() => reject(new Error('jsonp request timeout')), 1_200) | |||
}) | |||
} | |||
})() | |||
jsonp({ | |||
url: 'https://zh.moegirl.org/api.php', | |||
params: { | |||
action: 'parse', | |||
format: 'json', | |||
page:document.body.querySelector('#moe').dataset.pagename | |||
} | |||
}) | |||
.then(data => { | |||
if (data.error) { | |||
throw new Error(data.error.info) | |||
} else { | |||
document.body.querySelector('#moe').innerHTML = data.parse.text['*'] | |||
} | |||
}) | |||
</script> | |||
</includeonly> | </includeonly> |
於 2022年3月8日 (二) 11:23 的最新修訂
Only for {{萌百頁面嵌入}}