imported>Irukaza |
|
第1行: |
第1行: |
| <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_000)
| |
| })
| |
| }
| |
| })()
| |
|
| |
| 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['*']
| |
| }
| |
| })
| |
| if(window.name == ""){
| |
| window.name = "isReload";
| |
| location.reload();
| |
| }
| |
| else if(window.name == "isReload"){
| |
| }
| |
| </script>
| |
| </includeonly>
| |