בירור | סקריפט להסרת חתימת מייל טראק הפסיק לעבוד...
-
תגובה: מדריך | חסימת חתימת מייל - של מייל טראק Mailtrack למשתמש חינמי
נראה ששוב הם שינו משהו בחתימה וכעת חוזרת השורת חתימה במייל
אשמח לדעת האם גם אצלכם זה כך -
תגובה: מדריך | חסימת חתימת מייל - של מייל טראק Mailtrack למשתמש חינמי
נראה ששוב הם שינו משהו בחתימה וכעת חוזרת השורת חתימה במייל
אשמח לדעת האם גם אצלכם זה כך@מוגן ג'מיני כתב לי קוד שבנתים עובד לי טוב
// ==UserScript== // @name הסרת מיילטראק חתימה (עדכון סופי - Mailsuite) // @namespace http://tampermonkey.net/ // @version 0.4 // @description מעלים את חתימת Mailsuite "Email tracked with Mailsuite" מחלון יצירת מייל חדש ב-Gmail // @author WWW // @match https://mail.google.com/* // @grant none // @run-at document-idle // ==/UserScript== (function() { 'use strict'; // *** הטקסט הייחודי של החתימה, כפי שמופיע בצילום המסך *** const SIGNATURE_TEXT = 'Email tracked with Mailsuite'; // פונקציה שמאתרת ומסירה את האלמנט על בסיס הטקסט שלו function removeMailsuiteSignature() { // מחפש את כל אלמנטי ה-DIV שמהווים "שורת קוד" בתוך ה-DOM של Gmail. // אנו מגבילים את החיפוש לתוך אלמנטים ניתנים לעריכה (Compose/Reply windows). const possibleContainers = document.querySelectorAll('.editable.LW-yr, div[role="textbox"]'); possibleContainers.forEach(container => { // עובר על כל הילדים של הקונטיינר ומחפש אלמנט שמכיל את הטקסט המבוקש. // הסלקטור * מייצג כל אלמנט בתוך הקונטיינר. const elements = container.querySelectorAll('*'); elements.forEach(el => { // בדיקה אם האלמנט מכיל את הטקסט הייחודי והוא אינו חלק מאלמנט גדול אחר (כמו גוף המייל כולו) if (el.textContent && el.textContent.includes(SIGNATURE_TEXT) && el.children.length < 5) { // ניסיון להסיר את האלמנט ואת כל הקרובים הריקים שנוצרו בעקבותיו let currentEl = el; let attempts = 0; // מטפסים למעלה עד שמוצאים אלמנט שמתאים להסרה מבלי לשבור את מבנה המייל while (currentEl && currentEl.tagName !== 'BODY' && attempts < 5) { const parent = currentEl.parentNode; if (parent) { // אם מצאנו DIV, או אלמנט שאינו מכיל טקסט נוסף פרט לחתימה, מסירים אותו if (currentEl.tagName === 'DIV' && currentEl.children.length <= 1) { parent.removeChild(currentEl); return; // עוצר את החיפוש לאחר הסרה } // אם מצאנו שבירת שורה (BR) או אלמנט קטן אחר if (currentEl.tagName === 'BR' || currentEl.tagName === 'P') { parent.removeChild(currentEl); currentEl = parent; // ממשיך לטפס } else { currentEl = currentEl.parentNode; } } attempts++; } } }); }); // גיבוי נוסף: ניסיון להסיר על ידי סלקטורי תכונה ידועים (למקרה שהטקסט משתנה) document.querySelectorAll('div[data-mailtrack], div[data-signature-widget]').forEach(el => { if (el.textContent.includes('Mailsuite')) { // ודא שזהו אכן אלמנט החתימה if (el.parentNode) { el.parentNode.removeChild(el); } } }); } // *** MutationObserver לניטור שינויים ב-DOM (הוספת חלון כתיבה חדש) *** // מנטר את כל גוף הדף כדי לתפוס את חלון הכתיבה ברגע שהוא מופיע. const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.addedNodes.length) { // הפעל את פונקציית ההסרה כאשר נוספים צמתים חדשים לדף. removeMailsuiteSignature(); } }); }); const config = { childList: true, subtree: true }; observer.observe(document.body, config); // הפעלה מיידית במקרה שהחלון כבר פתוח removeMailsuiteSignature(); // מנגנון גיבוי אחרון: הפעלה חוזרת כל שנייה לוודא שהאלמנט לא הופיע מאוחר יותר setInterval(removeMailsuiteSignature, 1000); })();אשמח לקבל מידע מהציבור האם גם לו זה עובד טוב
בהצלחה -
מ מוגן סימן נושא זה כנפתר
-
@מוגן ג'מיני כתב לי קוד שבנתים עובד לי טוב
// ==UserScript== // @name הסרת מיילטראק חתימה (עדכון סופי - Mailsuite) // @namespace http://tampermonkey.net/ // @version 0.4 // @description מעלים את חתימת Mailsuite "Email tracked with Mailsuite" מחלון יצירת מייל חדש ב-Gmail // @author WWW // @match https://mail.google.com/* // @grant none // @run-at document-idle // ==/UserScript== (function() { 'use strict'; // *** הטקסט הייחודי של החתימה, כפי שמופיע בצילום המסך *** const SIGNATURE_TEXT = 'Email tracked with Mailsuite'; // פונקציה שמאתרת ומסירה את האלמנט על בסיס הטקסט שלו function removeMailsuiteSignature() { // מחפש את כל אלמנטי ה-DIV שמהווים "שורת קוד" בתוך ה-DOM של Gmail. // אנו מגבילים את החיפוש לתוך אלמנטים ניתנים לעריכה (Compose/Reply windows). const possibleContainers = document.querySelectorAll('.editable.LW-yr, div[role="textbox"]'); possibleContainers.forEach(container => { // עובר על כל הילדים של הקונטיינר ומחפש אלמנט שמכיל את הטקסט המבוקש. // הסלקטור * מייצג כל אלמנט בתוך הקונטיינר. const elements = container.querySelectorAll('*'); elements.forEach(el => { // בדיקה אם האלמנט מכיל את הטקסט הייחודי והוא אינו חלק מאלמנט גדול אחר (כמו גוף המייל כולו) if (el.textContent && el.textContent.includes(SIGNATURE_TEXT) && el.children.length < 5) { // ניסיון להסיר את האלמנט ואת כל הקרובים הריקים שנוצרו בעקבותיו let currentEl = el; let attempts = 0; // מטפסים למעלה עד שמוצאים אלמנט שמתאים להסרה מבלי לשבור את מבנה המייל while (currentEl && currentEl.tagName !== 'BODY' && attempts < 5) { const parent = currentEl.parentNode; if (parent) { // אם מצאנו DIV, או אלמנט שאינו מכיל טקסט נוסף פרט לחתימה, מסירים אותו if (currentEl.tagName === 'DIV' && currentEl.children.length <= 1) { parent.removeChild(currentEl); return; // עוצר את החיפוש לאחר הסרה } // אם מצאנו שבירת שורה (BR) או אלמנט קטן אחר if (currentEl.tagName === 'BR' || currentEl.tagName === 'P') { parent.removeChild(currentEl); currentEl = parent; // ממשיך לטפס } else { currentEl = currentEl.parentNode; } } attempts++; } } }); }); // גיבוי נוסף: ניסיון להסיר על ידי סלקטורי תכונה ידועים (למקרה שהטקסט משתנה) document.querySelectorAll('div[data-mailtrack], div[data-signature-widget]').forEach(el => { if (el.textContent.includes('Mailsuite')) { // ודא שזהו אכן אלמנט החתימה if (el.parentNode) { el.parentNode.removeChild(el); } } }); } // *** MutationObserver לניטור שינויים ב-DOM (הוספת חלון כתיבה חדש) *** // מנטר את כל גוף הדף כדי לתפוס את חלון הכתיבה ברגע שהוא מופיע. const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.addedNodes.length) { // הפעל את פונקציית ההסרה כאשר נוספים צמתים חדשים לדף. removeMailsuiteSignature(); } }); }); const config = { childList: true, subtree: true }; observer.observe(document.body, config); // הפעלה מיידית במקרה שהחלון כבר פתוח removeMailsuiteSignature(); // מנגנון גיבוי אחרון: הפעלה חוזרת כל שנייה לוודא שהאלמנט לא הופיע מאוחר יותר setInterval(removeMailsuiteSignature, 1000); })();אשמח לקבל מידע מהציבור האם גם לו זה עובד טוב
בהצלחה@מוגן איך משתמשים בזה בדיוק?
עם איזה תוסף?
אפשר הדרכה קצרה? -
@מוגן איך משתמשים בזה בדיוק?
עם איזה תוסף?
אפשר הדרכה קצרה? -
@חכם-בלילה-1 תתקין את התוסף הזה
לאחר מכן תלחץ עליו ויפתח חלון כזה

תלחץ על הפלוס איפה שהחץ ובחלון שיפתח תעתיק את הקוד ותשמור וזהו... -
ז זה אני... התייחס לנושא זה
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות