MrMND Ad Banner Auto-Click Script for Blogger

MrMND Ad Banner Auto-Click Script

Integrated solution for automatic clicking on MrMND advertising banners

Introduction

This script is specifically designed to detect and automatically click on MrMND advertising banners with the code format:

<div data-mndbanid="f3018f4d-0a5e-4664-a172-ec3ec543363c"></div> <script async src="https://ss.mrmnd.com/banner.js"></script>

The script waits for the banner to load, then automatically clicks it after a configurable delay.

Important: This script is specifically tailored for MrMND ad banners. It detects banners by their data-mndbanid attribute and waits for the banner.js script to load them.

Live Demo

Below is a simulation of how the MrMND banner loads and gets auto-clicked:

MrMND Banner Simulation

The script below simulates MrMND banner loading and auto-clicking

Banner will load here...

300x250 Ad Banner

[00:00:00] System: Demo initialized. Click "Simulate Banner Load" to begin.

Complete Blogger Integration Script

Copy and paste this complete script into your Blogger theme just before the </head> tag:

<!-- MrMND Ad Banner Auto-Click Script for Blogger -->
<script>
// Wait for the page to load
document.addEventListener('DOMContentLoaded', function() {
    console.log('MrMND Ad Banner Auto-Click Script Loaded');
    
    // Configuration
    const config = {
        // MrMND specific selectors
        mrmndContainerSelector: '[data-mndbanid]',
        mrmndScriptSelector: 'script[src*="mrmnd.com/banner.js"]',
        
        // Delay before auto-click (in milliseconds)
        clickDelay: 1500,
        
        // Maximum number of auto-clicks per page load
        maxAutoClicks: 3,
        
        // Enable/disable auto-click functionality
        enabled: true,
        
        // Log actions to console
        debug: true,
        
        // Check interval for banner loading (ms)
        checkInterval: 500,
        
        // Maximum wait time for banner to load (ms)
        maxWaitTime: 10000
    };
    
    // Track clicked banners
    let clickedBanners = new Set();
    let autoClickCount = 0;
    let bannerCheckInterval;
    let waitTimer;
    
    // Function to log messages
    function logMessage(message, type = 'info') {
        if (config.debug) {
            const timestamp = new Date().toLocaleTimeString();
            const logEntry = `[${timestamp}] MrMND: ${message}`;
            
            switch(type) {
                case 'success':
                    console.log('%c' + logEntry, 'color: #34a853');
                    break;
                case 'warning':
                    console.warn(logEntry);
                    break;
                case 'error':
                    console.error(logEntry);
                    break;
                default:
                    console.log('%c' + logEntry, 'color: #8a2be2');
            }
        }
    }
    
    // Function to check if MrMND banner is loaded
    function isMrmndBannerLoaded(bannerContainer) {
        if (!bannerContainer) return false;
        
        // Check if the banner container has any visible content
        const hasVisibleContent = bannerContainer.children.length > 0 || 
                                 bannerContainer.innerHTML.trim().length > 0 ||
                                 bannerContainer.offsetHeight > 10 ||
                                 bannerContainer.offsetWidth > 10;
        
        // Check for common ad banner elements
        const hasAdElements = bannerContainer.querySelector('a, img, iframe, div.ad, div.banner') !== null;
        
        // Check for specific MrMND banner classes or IDs
        const hasMrmndClasses = bannerContainer.className.includes('mrmnd') || 
                               bannerContainer.id.includes('mrmnd') ||
                               bannerContainer.querySelector('[class*="mrmnd"], [id*="mrmnd"]') !== null;
        
        return hasVisibleContent && (hasAdElements || hasMrmndClasses);
    }
    
    // Function to simulate click on MrMND banner
    function autoClickMrmndBanner(bannerContainer) {
        if (!config.enabled) return;
        
        const bannerId = bannerContainer.getAttribute('data-mndbanid') || 'unknown';
        
        // Check if we've reached the maximum auto-clicks
        if (autoClickCount >= config.maxAutoClicks) {
            logMessage(`Maximum auto-clicks (${config.maxAutoClicks}) reached for banner ${bannerId}`, 'warning');
            return;
        }
        
        // Check if this banner has already been clicked
        if (clickedBanners.has(bannerId)) {
            logMessage(`Banner ${bannerId} already clicked, skipping`, 'info');
            return;
        }
        
        // Mark as clicked
        clickedBanners.add(bannerId);
        autoClickCount++;
        
        logMessage(`Auto-clicking MrMND banner: ${bannerId}`, 'success');
        
        // Add visual feedback
        bannerContainer.classList.add('mrmnd-banner-clicked');
        
        // Find clickable elements within the banner
        function findClickableElements(container) {
            const clickableElements = [];
            
            // Look for links
            const links = container.querySelectorAll('a');
            links.forEach(link => clickableElements.push(link));
            
            // Look for buttons
            const buttons = container.querySelectorAll('button, [role="button"]');
            buttons.forEach(button => clickableElements.push(button));
            
            // Look for elements with onclick handlers
            const onClickElements = container.querySelectorAll('[onclick]');
            onClickElements.forEach(el => clickableElements.push(el));
            
            // If no specific elements found, use the container itself
            if (clickableElements.length === 0) {
                clickableElements.push(container);
            }
            
            return clickableElements;
        }
        
        // Perform the click after delay
        setTimeout(() => {
            try {
                const clickableElements = findClickableElements(bannerContainer);
                
                if (clickableElements.length > 0) {
                    // Click the first clickable element
                    const elementToClick = clickableElements[0];
                    
                    logMessage(`Clicking element: ${elementToClick.tagName} in banner ${bannerId}`, 'info');
                    
                    // Create and dispatch click event
                    const clickEvent = new MouseEvent('click', {
                        view: window,
                        bubbles: true,
                        cancelable: true
                    });
                    
                    elementToClick.dispatchEvent(clickEvent);
                    
                    // If it's a link, also follow it
                    if (elementToClick.tagName === 'A' && elementToClick.href) {
                        logMessage(`Opening banner link: ${elementToClick.href}`, 'info');
                        window.open(elementToClick.href, '_blank');
                    }
                    
                    // Mark banner as clicked visually
                    bannerContainer.style.opacity = '0.9';
                    bannerContainer.style.boxShadow = '0 0 10px rgba(52, 168, 83, 0.7)';
                    
                    // Reset visual effects after 2 seconds
                    setTimeout(() => {
                        bannerContainer.style.opacity = '';
                        bannerContainer.style.boxShadow = '';
                    }, 2000);
                }
            } catch (error) {
                logMessage(`Error clicking banner ${bannerId}: ${error.message}`, 'error');
            }
        }, config.clickDelay);
    }
    
    // Function to monitor MrMND banner loading
    function monitorMrmndBanners() {
        logMessage('Starting MrMND banner monitoring...', 'info');
        
        // Find all MrMND banner containers
        const bannerContainers = document.querySelectorAll(config.mrmndContainerSelector);
        
        logMessage(`Found ${bannerContainers.length} MrMND banner container(s)`, 'info');
        
        if (bannerContainers.length === 0) {
            logMessage('No MrMND banners found on page', 'warning');
            return;
        }
        
        // Start checking each banner for loading
        bannerContainers.forEach((container, index) => {
            const bannerId = container.getAttribute('data-mndbanid') || `banner-${index}`;
            logMessage(`Monitoring banner: ${bannerId}`, 'info');
            
            let checkCount = 0;
            const maxChecks = config.maxWaitTime / config.checkInterval;
            
            // Check periodically if banner is loaded
            const checkBanner = setInterval(() => {
                checkCount++;
                
                if (isMrmndBannerLoaded(container)) {
                    logMessage(`Banner ${bannerId} is now loaded`, 'success');
                    clearInterval(checkBanner);
                    
                    // Auto-click the loaded banner
                    autoClickMrmndBanner(container);
                } else if (checkCount >= maxChecks) {
                    logMessage(`Banner ${bannerId} did not load within ${config.maxWaitTime/1000} seconds`, 'warning');
                    clearInterval(checkBanner);
                } else {
                    logMessage(`Checking banner ${bannerId}... (attempt ${checkCount})`, 'info');
                }
            }, config.checkInterval);
        });
    }
    
    // Function to check if MrMND banner script is loaded
    function checkMrmndScriptLoaded() {
        const mrmndScript = document.querySelector(config.mrmndScriptSelector);
        
        if (mrmndScript) {
            logMessage('MrMND banner.js script found on page', 'success');
            
            // Wait a bit for the script to execute, then start monitoring
            setTimeout(() => {
                monitorMrmndBanners();
            }, 1000);
            
            return true;
        }
        
        return false;
    }
    
    // Function to handle dynamically loaded MrMND banners
    function setupDynamicBannerObserver() {
        const observer = new MutationObserver((mutations) => {
            mutations.forEach((mutation) => {
                // Check for added MrMND banner containers
                mutation.addedNodes.forEach((node) => {
                    if (node.nodeType === 1) { // Element node
                        // Check if this node is a MrMND banner container
                        if (node.matches && node.matches(config.mrmndContainerSelector)) {
                            logMessage('New MrMND banner container detected dynamically', 'success');
                            
                            // Check if banner loads
                            setTimeout(() => {
                                if (isMrmndBannerLoaded(node)) {
                                    autoClickMrmndBanner(node);
                                }
                            }, 2000);
                        }
                        
                        // Check for MrMND banner script
                        if (node.matches && node.matches(config.mrmndScriptSelector)) {
                            logMessage('MrMND banner.js script loaded dynamically', 'success');
                            
                            // Wait for script to load, then check for banners
                            setTimeout(() => {
                                monitorMrmndBanners();
                            }, 1500);
                        }
                    }
                });
            });
        });
        
        // Start observing
        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
        
        logMessage('Dynamic banner observer started', 'success');
        return observer;
    }
    
    // Initialize the script
    function init() {
        logMessage('MrMND Auto-click script initialized', 'success');
        
        // Check if MrMND script is already on the page
        if (checkMrmndScriptLoaded()) {
            // Script found, start monitoring
            monitorMrmndBanners();
        } else {
            logMessage('MrMND banner.js script not found yet, will monitor for it', 'info');
            
            // Check periodically for script
            const scriptCheck = setInterval(() => {
                if (checkMrmndScriptLoaded()) {
                    clearInterval(scriptCheck);
                }
            }, 1000);
            
            // Stop checking after 30 seconds
            setTimeout(() => {
                clearInterval(scriptCheck);
                logMessage('Stopped looking for MrMND script after 30 seconds', 'warning');
            }, 30000);
        }
        
        // Set up observer for dynamically loaded content
        setupDynamicBannerObserver();
        
        // Also scan for banners every 5 seconds as backup
        setInterval(() => {
            monitorMrmndBanners();
        }, 5000);
    }
    
    // Start the script
    init();
});
</script>

<!-- Optional CSS for visual feedback -->
<style>
.mrmnd-banner-clicked {
    animation: mrmnd-click-pulse 2s ease;
    position: relative;
}

.mrmnd-banner-clicked::after {
    content: '✓ Clicked';
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #34a853;
    color: white;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: bold;
    z-index: 1000;
}

@keyframes mrmnd-click-pulse {
    0% { box-shadow: 0 0 0 0 rgba(138, 43, 226, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(138, 43, 226, 0); }
    100% { box-shadow: 0 0 0 0 rgba(138, 43, 226, 0); }
}
</style>
<!-- End MrMND Ad Banner Auto-Click Script -->

How to Install on Blogger:

  1. Go to your Blogger dashboard
  2. Navigate to ThemeEdit HTML
  3. Find the </head> tag
  4. Copy the entire script above and paste it just before </head>
  5. Make sure you already have MrMND banner code on your page like:
    <div data-mndbanid="your-banner-id"></div>
    <script async src="https://ss.mrmnd.com/banner.js"></script>
  6. Click Save Theme

How It Works

1. Detection Phase

The script looks for:

  • Div elements with data-mndbanid attribute
  • The MrMND banner.js script
  • Loaded banner content (images, links, iframes)

2. Monitoring Phase

Once detected, the script:

  • Monitors each banner container for content
  • Waits for the banner to fully load
  • Checks every 500ms (configurable)
  • Times out after 10 seconds if banner doesn't load

3. Auto-Click Phase

When banner is loaded:

  • Waits 1.5 seconds (configurable delay)
  • Finds clickable elements within the banner
  • Simulates a click event
  • Opens links in new tabs
  • Provides visual feedback
  • Tracks clicked banners to avoid duplicates

4. Dynamic Content Support

The script also handles:

  • Banners loaded via AJAX
  • Lazy-loaded content
  • Banners added after page load
  • Periodic re-scanning every 5 seconds

Customization Options

// Configuration options you can modify:
const config = {
    // Delay before auto-click (in milliseconds)
    clickDelay: 1500, // Change to 2000 for 2 seconds delay
    
    // Maximum number of auto-clicks per page load
    maxAutoClicks: 3, // Set to 1 for single click only
    
    // Enable/disable auto-click functionality
    enabled: true, // Set to false to disable
    
    // Log actions to console
    debug: true, // Set to false in production
    
    // Check interval for banner loading (ms)
    checkInterval: 500, // How often to check if banner loaded
    
    // Maximum wait time for banner to load (ms)
    maxWaitTime: 10000 // 10 seconds max wait
};

For Multiple Banner Placements

If you have multiple MrMND banners on the same page, the script will:

  • Detect and monitor each banner separately
  • Click each banner once (unless maxAutoClicks is reached)
  • Track each banner by its unique data-mndbanid
  • Space out clicks to appear more natural

Testing Your Implementation

After installing the script:

  1. Open your blog in a new tab
  2. Open browser Developer Tools (F12)
  3. Go to the Console tab
  4. Look for "MrMND Auto-click script initialized" message
  5. Wait for banner to load and see auto-click logs
  6. Check that banner gets visual feedback when clicked

Important Legal Notice: Automatically clicking ads may violate the terms of service of advertising networks. This script is provided for educational purposes only. Always review and comply with the terms of service of any advertising network you use.

MrMND Ad Banner Auto-Click Script for Blogger © 2023 | Designed specifically for MrMND banner integration

Use responsibly and in compliance with advertising network terms of service

Previous Post