על אופציות חיפוש ידעתי, רק שהרבה פעמים זה לא עוזר [לי].
ניסיתי [ז"א הAI ניסה] ליצור לי כפתור פשוט שפשוט לוחץ על הכפתור של 'עמוד הבא' בחיפוש מספר הפעמים שאתה מבקש ממנו, אבל כל פעם משהו אחר נתקע, עד שנמאס לי, הוא מבקש לבדוק דברים בקונסול וזה לוקח לי הרבה זמן כיון שאיני מכיר את זה. אם מישהו יכול לתקן אותם [רק שיבדוק שזה פועל] או לתת רעיון אחר אשמח. זה מה שהוא נתן לי כרגע [דרך Violentmonkey]
Spoiler
// ==UserScript==
// @name Gmail - דלג דפי חיפוש
// @namespace http://tampermonkey.net/
// @version 0.3
// @description הוספת כפתור לדילוג מספר דפים בתוצאות החיפוש בג'ימייל
// @author YourName (או השאר ריק)
// @match ://mail.google.com/
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// הגדרות
const NEXT_PAGE_BUTTON_SELECTOR = 'div[data-tooltip="ישן יותר"]'; // סלקטור לכפתור "ישן יותר" - ודא שהוא נכון!
const BUTTON_TEXT = "דלג דפים";
const PROMPT_DELAY_MS = 1500; // זמן המתנה בין לחיצות (במילישניות)
let skipButton;
function addSkipButton() {
if (document.getElementById('gmailSkipPagesButton')) {
return; // הכפתור כבר קיים
}
skipButton = document.createElement('button');
skipButton.id = 'gmailSkipPagesButton';
skipButton.textContent = BUTTON_TEXT;
skipButton.addEventListener('click', handleSkipButtonClick);
// מצא אזור מתאים להוספת הכפתור (למשל, ליד כפתורי הניווט או החיפוש)
// זה יכול להשתנות בהתאם לעיצוב של ג'ימייל. ננסה להוסיף אותו באזור כללי.
// נסה למצוא את סרגל הפעולות הראשי, אם אפשר.
const topToolbar = document.querySelector('.D.cP'); // סלקטור כללי לסרגל עליון, עשוי להשתנות
if (topToolbar) {
const buttonContainer = document.createElement('div');
buttonContainer.style.margin = '0 10px'; // הוספת קצת רווח
buttonContainer.appendChild(skipButton);
// ננסה להוסיף אותו ליד קבוצת הכפתורים הקיימת
const existingButtonGroup = topToolbar.querySelector('div[role="toolbar"] div[role="group"]');
if (existingButtonGroup) {
existingButtonGroup.parentNode.insertBefore(buttonContainer, existingButtonGroup.nextSibling);
} else {
topToolbar.appendChild(buttonContainer); // חלופה אם לא נמצאה קבוצת כפתורים
}
} else {
// אם לא מצאנו סרגל מתאים, ננסה להוסיף כצף בפינה
skipButton.style.position = 'fixed';
skipButton.style.bottom = '20px';
skipButton.style.right = '20px';
skipButton.style.zIndex = '9999';
skipButton.style.padding = '10px';
skipButton.style.backgroundColor = '#4285F4';
skipButton.style.color = 'white';
skipButton.style.border = 'none';
skipButton.style.borderRadius = '4px';
skipButton.style.cursor = 'pointer';
document.body.appendChild(skipButton);
}
console.log("כפתור 'דלג דפים' נוסף לג'ימייל.");
}
async function handleSkipButtonClick() {
let lastPagesToSkip = GM_getValue('lastPagesToSkip', '1'); // קבל ערך אחרון שנשמר, או ברירת מחדל 1
let numPagesStr = prompt(`כמה דפים לדלג קדימה (ללחוץ על 'ישן יותר')?\n(למשל, הקש 4 כדי להגיע לדף החמישי)`, lastPagesToSkip);
if (numPagesStr === null || numPagesStr.trim() === "") return;
let numPages = parseInt(numPagesStr);
if (isNaN(numPages) || numPages <= 0) {
alert("נא להזין מספר חיובי.");
return;
}
GM_setValue('lastPagesToSkip', numPagesStr); // שמור את הערך שהוזן לשימוש עתידי
disableButton(true); // נטרל את הכפתור בזמן הפעולה
for (let i = 0; i < numPages; i++) {
const nextPageButton = document.querySelector(NEXT_PAGE_BUTTON_SELECTOR);
if (nextPageButton) {
console.log(`מדלג דף ${i + 1} מתוך ${numPages}...`);
nextPageButton.click();
await new Promise(resolve => setTimeout(resolve, PROMPT_DELAY_MS));
} else {
alert(`לא נמצא כפתור 'ישן יותר' לאחר ${i} לחיצות. ייתכן שהגעת לסוף או שהממשק השתנה.`);
break;
}
}
disableButton(false); // הפעל מחדש את הכפתור
console.log("סיום דילוג דפים.");
}
function disableButton(shouldDisable) {
if (skipButton) {
skipButton.disabled = shouldDisable;
skipButton.textContent = shouldDisable ? "מדלג..." : BUTTON_TEXT;
}
}
// הוספת סגנונות לכפתור (אופציונלי, אם לא הוספנו כצף)
GM_addStyle(`
#gmailSkipPagesButton {
/* אפשר להוסיף כאן סגנונות אם רוצים, לדוגמה: */
/* padding: 8px 12px; */
/* background-color: #f0f0f0; */
/* border: 1px solid #ccc; */
/* border-radius: 4px; */
/* cursor: pointer; */
/* margin-left: 8px; */
}
#gmailSkipPagesButton:disabled {
cursor: not-allowed;
opacity: 0.7;
}
`);
// נחכה שהדף ייטען קצת לפני שנוסיף את הכפתור
// ונוודא שאנחנו בתוך הממשק הראשי ולא בדף טעינה
function observeDOMAndAddButton() {
// נחכה עד שאלמנט מרכזי בממשק של ג'ימייל יהיה קיים
// למשל, תיבת החיפוש או סרגל הצד
const gmailAppLoadedCheck = setInterval(() => {
if (document.querySelector('div[role="navigation"]') && document.querySelector('form[role="search"]')) {
clearInterval(gmailAppLoadedCheck);
addSkipButton(); // הוסף את הכפתור
// מאזין לשינויים ב-DOM כדי להוסיף את הכפתור מחדש אם ה-DOM משתנה משמעותית (ניווט בג'ימייל)
// זה יכול להיות קצת "יקר" מבחינת ביצועים אם לא נעשה בזהירות
// כרגע נסתפק בהוספה ראשונית
}
}, 500);
}
// התחל את התהליך
if (window.top === window.self) { // ודא שאנחנו לא בתוך iframe
observeDOMAndAddButton();
}
})();