|
|
| 第1行: |
第1行: |
| // 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);
| |
| }
| |
|
| |
|
| 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) {
| |
| console.log("Found links in div:", extractedLinks);
| |
|
| |
| // Create a button for this specific div's link list
| |
| const downloadButton = document.createElement('button');
| |
| downloadButton.textContent = 'Download Random Link from this block';
| |
| 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.");
| |
| }
| |
| });
| |
| });
| |