|
|
| (未显示同一用户的3个中间版本) |
| 第42行: |
第42行: |
| } | | } |
| </style> | | </style> |
|
| |
| <div class="random-plant-box">
| |
| <button class="random-plant-btn" id="random-plant-btn">🎲 随机抽 5 个植物</button>
| |
| <div class="random-plant-result" id="random-plant-result"></div>
| |
| </div>
| |
|
| |
| <script>
| |
| (function() {
| |
| var plants = [];
| |
| var loaded = false;
| |
|
| |
| function loadPlants() {
| |
| var xhr = new XMLHttpRequest();
| |
| xhr.open('GET', mw.util.wikiScript('api') + '?action=parse&page=植物&prop=links&format=json&origin=*', true);
| |
| xhr.onload = function() {
| |
| try {
| |
| var data = JSON.parse(xhr.responseText);
| |
| if (data.parse && data.parse.links) {
| |
| data.parse.links.forEach(function(link) {
| |
| if (link['*'] && link.ns === 0) {
| |
| plants.push(link['*']);
| |
| }
| |
| });
| |
| }
| |
| } catch(e) {}
| |
| loaded = true;
| |
| };
| |
| xhr.send();
| |
| }
| |
|
| |
| document.getElementById('random-plant-btn').addEventListener('click', function() {
| |
| if (!loaded) {
| |
| document.getElementById('random-plant-result').innerHTML = '<span style="color:#888;">正在加载植物列表...</span>';
| |
| return;
| |
| }
| |
| if (plants.length === 0) {
| |
| document.getElementById('random-plant-result').innerHTML = '<span style="color:#888;">未找到植物,请稍后重试</span>';
| |
| return;
| |
| }
| |
|
| |
| var shuffled = plants.slice().sort(function() { return Math.random() - 0.5; });
| |
| var picked = shuffled.slice(0, 5);
| |
| var html = '';
| |
| picked.forEach(function(name) {
| |
| html += '<a href="/w/' + encodeURIComponent(name) + '">' + name + '</a>';
| |
| });
| |
| document.getElementById('random-plant-result').innerHTML = html;
| |
| });
| |
|
| |
| loadPlants();
| |
| })();
| |
| </script>
| |
| </includeonly> | | </includeonly> |