您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Gartic.io'da Google Görseller'de arama yapıp ilk resmi gösterir tel
// ==UserScript== // @name Babasokucu tel // @namespace http://tampermonkey.net/ // @version 3.3 - MOBİL VERSIYON // @description Gartic.io'da Google Görseller'de arama yapıp ilk resmi gösterir tel // @author Ferres // @match https://gartic.io/* // @grant GM_addStyle // @grant GM_xmlhttpRequest // @connect googleapis.com // @license MIT // ==/UserScript== (function() { 'use strict'; // === API BİLGİLERİ BURADA HAZIR, DOKUNMA === const API_KEY = "AIzaSyBP6U28ngnKhCKYoYgkExWXNxHT_-MCJvQ"; const SEARCH_ENGINE_ID = "d3a4fb1c91a394ccd"; // ========================================== // Mobil cihaz kontrolü const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); // Panel ve içeriği için mobil optimize CSS stilleri GM_addStyle(` #babaSokucuPanel { position: fixed; top: ${isMobile ? '5px' : '10px'}; left: 50%; transform: translateX(-50%); width: ${isMobile ? '95vw' : '320px'}; max-width: ${isMobile ? '350px' : '320px'}; background-color: #f1f1f1; border: 2px solid #888; border-radius: 8px; z-index: 9999; display: none; flex-direction: column; box-shadow: 0 4px 8px rgba(0,0,0,0.2); font-family: Arial, sans-serif; ${isMobile ? 'touch-action: none;' : ''} } #babaSokucuHeader { padding: ${isMobile ? '15px 10px' : '10px'}; cursor: ${isMobile ? 'grab' : 'move'}; z-index: 10000; background-color: #c0392b; color: white; border-top-left-radius: 6px; border-top-right-radius: 6px; text-align: center; font-weight: bold; font-size: ${isMobile ? '16px' : '14px'}; user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } #babaSokucuContent { padding: ${isMobile ? '20px 15px' : '15px'}; display: flex; flex-direction: column; align-items: center; } #flagSearchInput { width: 95%; padding: ${isMobile ? '12px 8px' : '8px'}; margin-bottom: ${isMobile ? '15px' : '10px'}; border: 1px solid #ccc; border-radius: 4px; font-size: ${isMobile ? '16px' : '14px'}; -webkit-appearance: none; } #flagImageContainer { width: 100%; height: ${isMobile ? '200px' : '180px'}; border: 1px dashed #ccc; display: flex; justify-content: center; align-items: center; background-color: #fff; margin-top: 5px; overflow: hidden; } #flagImage { max-width: 100%; max-height: 100%; display: none; } #infoText { color: #555; text-align: center; font-size: ${isMobile ? '14px' : '12px'}; padding: 10px; } #mobileToggleBtn { position: fixed; bottom: ${isMobile ? '20px' : '10px'}; right: ${isMobile ? '20px' : '10px'}; width: ${isMobile ? '60px' : '50px'}; height: ${isMobile ? '60px' : '50px'}; background-color: #c0392b; color: white; border: none; border-radius: 50%; font-size: ${isMobile ? '14px' : '12px'}; font-weight: bold; cursor: pointer; z-index: 9998; box-shadow: 0 2px 6px rgba(0,0,0,0.3); display: flex; align-items: center; justify-content: center; text-align: center; user-select: none; -webkit-user-select: none; touch-action: manipulation; } #searchButton { width: 100%; padding: ${isMobile ? '12px' : '8px'}; background-color: #c0392b; color: white; border: none; border-radius: 4px; font-size: ${isMobile ? '16px' : '14px'}; font-weight: bold; cursor: pointer; margin-top: 10px; touch-action: manipulation; } #searchButton:active { background-color: #a93226; } `); // Panel oluştur const panel = document.createElement('div'); panel.id = 'babaSokucuPanel'; panel.innerHTML = ` <div id="babaSokucuHeader">📱 babasokucu (Google)</div> <div id="babaSokucuContent"> <input type="text" id="flagSearchInput" placeholder="Kelimeyi yazın..."> <button id="searchButton">🔍 ARA</button> <div id="flagImageContainer"> <img id="flagImage" src="" alt="Resim"> <span id="infoText">Google'daki ilk resim burada görünecek.</span> </div> </div> `; // Mobil için toggle butonu const toggleBtn = document.createElement('button'); toggleBtn.id = 'mobileToggleBtn'; toggleBtn.innerHTML = '🔍<br>BABA'; toggleBtn.onclick = function() { panel.style.display = (panel.style.display === 'none' || panel.style.display === '') ? 'flex' : 'none'; }; document.body.appendChild(panel); document.body.appendChild(toggleBtn); const flagSearchInput = document.getElementById('flagSearchInput'); const flagImage = document.getElementById('flagImage'); const infoText = document.getElementById('infoText'); const searchButton = document.getElementById('searchButton'); function searchGoogleImages(query) { if (!query) return; infoText.textContent = "Aranıyor..."; infoText.style.display = 'block'; flagImage.style.display = 'none'; const finalQuery = `${query} flag`; const apiUrl = `https://www.googleapis.com/customsearch/v1?key=${API_KEY}&cx=${SEARCH_ENGINE_ID}&q=${encodeURIComponent(finalQuery)}&searchType=image`; GM_xmlhttpRequest({ method: "GET", url: apiUrl, onload: function(response) { const data = JSON.parse(response.responseText); if (data.error) { console.error("Google API Hatası:", data.error.message); infoText.textContent = `API Hatası! Konsol'u kontrol edin.`; return; } if (data.items && data.items.length > 0) { flagImage.src = data.items[0].link; flagImage.style.display = 'block'; infoText.style.display = 'none'; } else { infoText.textContent = `"${query}" için Google'da resim bulunamadı.`; } }, onerror: function(error) { console.error("Bağlantı Hatası:", error); infoText.textContent = "Bağlantı hatası! İnterneti kontrol edin."; } }); } // Event listener'lar if (isMobile) { // Mobil cihaz için touch event'leri searchButton.addEventListener('click', () => { searchGoogleImages(flagSearchInput.value.trim()); }); flagSearchInput.addEventListener('keyup', (e) => { if (e.key === 'Enter' || e.keyCode === 13) { searchGoogleImages(flagSearchInput.value.trim()); } }); } else { // Desktop için klavye kısayolları document.addEventListener('keydown', (e) => { if (e.key === 'Insert') { panel.style.display = (panel.style.display === 'none' || panel.style.display === '') ? 'flex' : 'none'; } }); searchButton.addEventListener('click', () => { searchGoogleImages(flagSearchInput.value.trim()); }); flagSearchInput.addEventListener('keyup', (e) => { if (e.key === 'Enter') { searchGoogleImages(flagSearchInput.value.trim()); } }); } // Sürükleme fonksiyonu (hem mouse hem touch destekli) dragElement(panel); function dragElement(elmnt) { let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; const header = document.getElementById('babaSokucuHeader'); if (header) { // Mouse events header.onmousedown = dragMouseDown; // Touch events for mobile if (isMobile) { header.ontouchstart = dragTouchStart; } } function dragMouseDown(e) { e.preventDefault(); pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; document.onmousemove = elementDrag; header.style.cursor = 'grabbing'; } function dragTouchStart(e) { e.preventDefault(); const touch = e.touches[0]; pos3 = touch.clientX; pos4 = touch.clientY; document.ontouchend = closeDragElement; document.ontouchmove = elementDragTouch; header.style.cursor = 'grabbing'; } function elementDrag(e) { e.preventDefault(); pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; updatePosition(); } function elementDragTouch(e) { e.preventDefault(); const touch = e.touches[0]; pos1 = pos3 - touch.clientX; pos2 = pos4 - touch.clientY; pos3 = touch.clientX; pos4 = touch.clientY; updatePosition(); } function updatePosition() { let newTop = elmnt.offsetTop - pos2; let newLeft = elmnt.offsetLeft - pos1; // Ekran sınırları kontrolü const maxTop = window.innerHeight - elmnt.offsetHeight; const maxLeft = window.innerWidth - elmnt.offsetWidth; newTop = Math.max(0, Math.min(newTop, maxTop)); newLeft = Math.max(0, Math.min(newLeft, maxLeft)); elmnt.style.top = newTop + "px"; elmnt.style.left = newLeft + "px"; elmnt.style.transform = 'none'; // Transform'u sıfırla } function closeDragElement() { document.onmouseup = null; document.onmousemove = null; document.ontouchend = null; document.ontouchmove = null; header.style.cursor = isMobile ? 'grab' : 'move'; } } // Sayfa yüklendiğinde toggle butonunu göster window.addEventListener('load', () => { if (isMobile) { console.log('Babasokucu Mobile yüklendi! Sağ alttaki butona tıklayın.'); } else { console.log('Babasokucu yüklendi! Insert tuşuna basın.'); } }); })();