סקריפט ל-Tampermonkey להוספת כפתור של מעבר מהיר לעריכת רשימת התפוצה
-
לבקשת @פישל כתבתי סקריפט ל-Tampermonkey בעזרת ChatGPT, הסקריפט מוסיף כפתור בדף שיגור הודעות לעריכת רשימת התפוצה במקום ללחוץ עריכה ואז רשימת התפוצה
תוכלו לראות כאן איך מתקינים את זה
// ==UserScript== // @name Add button of campaing list // @namespace http://tampermonkey.net/ // @version 1.9 // @description Adds a button to automate clicks on Call2All campaign pages // @author Jonny // @match https://www.call2all.co.il/ym/index.php?view=customer_select_campaign // @match https://private.call2all.co.il/ym/index.php?view=customer_select_campaign // @grant none // ==/UserScript== (function() { 'use strict'; // ממתינים שהדף יטען חלקית או באופן מלא const waitForElements = () => { const rows = document.querySelectorAll('table.admin-table.customer-templates tbody tr'); if (rows.length > 0) { addCustomButtons(rows); // אם יש שורות בטבלה, נוסיף כפתור } else { setTimeout(waitForElements, 500); // אם לא מצאנו שורות, ננסה שוב בעוד חצי שניה } }; function addCustomButtons(rows) { rows.forEach(row => { let editButton = row.querySelector('a.edit-button'); if (!editButton) return; let actionsCell = row.querySelector('td:last-child'); let newButton = document.createElement('a'); // שינינו ל-a כדי להתאים לסגנון הקיים newButton.classList.add('ui-button', 'ui-widget', 'ui-state-default', 'ui-corner-all', 'ui-button-text-icon-secondary'); newButton.style.margin = '5px'; newButton.style.padding = '2px 10px'; // הקטנה של ה-padding כדי להקטין את הכפתור newButton.style.fontSize = '18px'; // נשאיר את ה-font-size בגודל המקורי newButton.style.minWidth = '160px'; // שמירה על רוחב מינימלי בכפתור // יצירת אלמנט של אייקון עיפרון let pencilIcon = document.createElement('span'); pencilIcon.classList.add('ui-button-icon-secondary', 'ui-icon', 'ui-icon-pencil'); // יצירת הטקסט של הכפתור let buttonText = document.createElement('span'); buttonText.classList.add('ui-button-text'); buttonText.innerText = 'רשימת התפוצה'; // הוספת האייקון והטקסט לכפתור newButton.appendChild(buttonText); newButton.appendChild(pencilIcon); // הוספת עיצוב על hover כמו כל כפתור אחר newButton.style.transition = 'background-color 0.3s, border-color 0.3s'; // אפקט החלקה newButton.onmouseover = function() { newButton.style.backgroundColor = '#16638f'; // צבע כהה כשעומדים על הכפתור newButton.style.borderColor = '#16638f'; // גבול כהה }; newButton.onmouseout = function() { newButton.style.backgroundColor = ''; // ברירת מחדל newButton.style.borderColor = ''; // גבול ברירת מחדל }; newButton.onclick = function(event) { event.preventDefault(); fetch(editButton.href) // מבצע את הלחיצה מאחורי הקלעים .then(() => { setTimeout(() => { let listButton = document.querySelector('a[href="index.php?view=campaign_phone_list"]'); if (listButton) listButton.click(); }, 500); // מחכה קצת כדי לוודא שהדף נטען }).catch(() => { console.log("לא ניתן לגשת לכתובת"); }); }; // למצוא את ה-div הקיים של הכפתורים let buttonContainer = document.querySelector('#buttonContainer'); if (buttonContainer) { buttonContainer.appendChild(newButton); // מוסיף את הכפתור החדש מימין לכפתור קיים } else { // אם לא נמצא אז פשוט מוסיף אותו בתא הפעולות actionsCell.appendChild(newButton); } }); } // מתחילים לחפש את האלמנטים ברגע שהדף מתחיל לטעון waitForElements(); })(); -
C CUBASE התייחס לנושא זה ב
-
@CUBASE אהבתי שבסקריפט שבנית בלחיצה על רשימת התפוצה הוא נותן ישר את כל הרשימה ולא רק 20
-
@פישל אין לי מושג, לא ביקשתי ממנו דבר כזה אבל אדרבה - אם יש את זה אז מצויין!
-
@CUBASE אם יש מישהו שמקשיב לבקשות שלי, יש לי עוד אתגר בשבילך.
לבנות סקריפט שמסדר את הבאג של רצף השלוחות מעל שלוחה 9 דהיינו ששלוחה 10 לא תהיה אחרי שלוחה 1 אלא אחרי שלוחה 9 גם בראשי וגם בתתי שלוחות.
אתגר לא פשוט...
-
@פישל עדכנתי את הסקריפט כך שיעבוד גם במצב אנונימי (סתם שיגעון של פרפקציוניסטים
)
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות