跳转到内容

MediaWiki:Common.js:修订间差异

来自ubuntustudioCN
无编辑摘要
无编辑摘要
 
(未显示同一用户的1个中间版本)
第19行: 第19行:
}
}


document.addEventListener('DOMContentLoaded', () => {
  // Select all divs that are designated as random link generators
  const linkGeneratorDivs = document.querySelectorAll('.random-link-generator');
  console.log("aaaaaa");
  linkGeneratorDivs.forEach(containerDiv => {
    // Select all anchor (<a>) tags *within this specific div*
    const linkElements = containerDiv.querySelectorAll('a');
    const extractedLinks = [];


    linkElements.forEach(link => {
      if (link.href) {
        extractedLinks.push(link.href);
      }
    });


    if (extractedLinks.length > 0) {
const linkGeneratorDivs = document.querySelectorAll('.random-link-generator');
      console.log("Found links in div:", extractedLinks);
linkGeneratorDivs.forEach(containerDiv => {
// Select all anchor (<a>) tags *within this specific div*
const linkElements = containerDiv.querySelectorAll('a');
const extractedLinks = [];
linkElements.forEach(link => {
  if (link.href) {
    extractedLinks.push(link.href);
  }
});


      // Create a button for this specific div's link list
if (extractedLinks.length > 0) {
      const downloadButton = document.createElement('button');
  console.log("Found links in div:", extractedLinks);
      downloadButton.textContent = 'Download Random Link from this block';
      downloadButton.style.marginLeft = '10px'; // Add some spacing


      // Add an event listener to the button
  // Create a button for this specific div's link list
      downloadButton.onclick = () => {
  const downloadButton = document.createElement('button');
        downloadRandomLink(extractedLinks);
  downloadButton.textContent = '使用随机镜像源下载';
      };
  downloadButton.style.marginLeft = '10px'; // Add some spacing


      // Append the button to the DOM.
  // Add an event listener to the button
      // We'll append it after the div for better placement.
  downloadButton.onclick = () => {
      // If the div contains other elements you want the button after,
    downloadRandomLink(extractedLinks);
      // you might need a more specific insertion point.
  };
      containerDiv.parentNode.insertBefore(downloadButton, containerDiv.nextSibling);
 
    } else {
  // Append the button to the DOM.
      console.log("No links found within a .random-link-generator div.");
  // We'll append it after the div for better placement.
    }
  // If the div contains other elements you want the button after,
  });
  // you might need a more specific insertion point.
  containerDiv.parentNode.insertBefore(downloadButton, containerDiv.nextSibling);
} else {
  console.log("No links found within a .random-link-generator div.");
}
});
});

2026年5月13日 (三) 18:57的最新版本

/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */

// The function to download a single random link (remains the same)
function downloadRandomLink(links) {
  if (!links || links.length === 0) {
    console.error("The provided links array is empty or invalid.");
    return;
  }
  const randomIndex = Math.floor(Math.random() * links.length);
  const randomLink = links[randomIndex];
  const linkElement = document.createElement('a');
  linkElement.href = randomLink;
  linkElement.download = `random_download_${Date.now()}`; // Example filename
  document.body.appendChild(linkElement);
  linkElement.click();
  setTimeout(() => {
    document.body.removeChild(linkElement);
  }, 100);
}



const linkGeneratorDivs = document.querySelectorAll('.random-link-generator');
linkGeneratorDivs.forEach(containerDiv => {
// Select all anchor (<a>) tags *within this specific div*
const linkElements = containerDiv.querySelectorAll('a');
const extractedLinks = [];
linkElements.forEach(link => {
  if (link.href) {
    extractedLinks.push(link.href);
  }
});

if (extractedLinks.length > 0) {
  console.log("Found links in div:", extractedLinks);

  // Create a button for this specific div's link list
  const downloadButton = document.createElement('button');
  downloadButton.textContent = '使用随机镜像源下载';
  downloadButton.style.marginLeft = '10px'; // Add some spacing

  // Add an event listener to the button
  downloadButton.onclick = () => {
    downloadRandomLink(extractedLinks);
  };

  // Append the button to the DOM.
  // We'll append it after the div for better placement.
  // If the div contains other elements you want the button after,
  // you might need a more specific insertion point.
  containerDiv.parentNode.insertBefore(downloadButton, containerDiv.nextSibling);
} else {
  console.log("No links found within a .random-link-generator div.");
}
});