דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שיתוף: סקריפט להסרת אלמנט מיד לאחר שנוצר

שיתוף: סקריפט להסרת אלמנט מיד לאחר שנוצר

מתוזמן נעוץ נעול הועבר תכנות
63 פוסטים 9 כותבים 3.4k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מוגןמ מנותק
    מוגןמ מנותק
    מוגן
    כתב ב נערך לאחרונה על ידי
    #48

    זה הקוד שכתבתי ללא הצלחה...

    // ==UserScript==
    // @name         הסרת מיילטראק חתימה
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description
    // @author       WWW
    // @match        https://mail.google.com/*
    // @grant        none
    // ==/UserScript==
    
    
    (function() {
    
    if (window.trustedTypes && window.trustedTypes.createPolicy) {
      window.trustedTypes.createPolicy('default', {
        createHTML: (string, sink) => string
      });
    }
    
        // insertion-query v1.0.3 (2016-01-20) https://github.com/naugtur/insertionQuery
        // license:MIT
        // Zbyszek Tenerowicz <naugtur@gmail.com> (http://naugtur.pl/)
        var insertionQ = (function () {
        "use strict";
    
            var sequence = 100,
                isAnimationSupported = false,
                animationstring = 'animationName',
                keyframeprefix = '',
                domPrefixes = 'Webkit Moz O ms Khtml'.split(' '),
                pfx = '',
                elm = document.createElement('div'),
                options = {
                    strictlyNew: true,
                    timeout: 20
                };
    
            if (elm.style.animationName) {
                isAnimationSupported = true;
            }
    
            if (isAnimationSupported === false) {
                for (var i = 0; i < domPrefixes.length; i++) {
                    if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
                        pfx = domPrefixes[i];
                        animationstring = pfx + 'AnimationName';
                        keyframeprefix = '-' + pfx.toLowerCase() + '-';
                        isAnimationSupported = true;
                        break;
                    }
                }
            }
    
    
            function listen(selector, callback) {
                var styleAnimation, animationName = 'insQ_' + (sequence++);
    
                var eventHandler = function (event) {
                    if (event.animationName === animationName || event[animationstring] === animationName) {
                        if (!isTagged(event.target)) {
                            callback(event.target);
                        }
                    }
                };
    
                styleAnimation = document.createElement('style');
                styleAnimation.innerHTML = '@' + keyframeprefix + 'keyframes ' + animationName + ' {  from {  outline: 1px solid transparent  } to {  outline: 0px solid transparent }  }' +
                    "\n" + selector + ' { animation-duration: 0.001s; animation-name: ' + animationName + '; ' +
                    keyframeprefix + 'animation-duration: 0.001s; ' + keyframeprefix + 'animation-name: ' + animationName + '; ' +
                    ' } ';
    
                document.head.appendChild(styleAnimation);
    
                var bindAnimationLater = setTimeout(function () {
                    document.addEventListener('animationstart', eventHandler, false);
                    document.addEventListener('MSAnimationStart', eventHandler, false);
                    document.addEventListener('webkitAnimationStart', eventHandler, false);
                    //event support is not consistent with DOM prefixes
                }, options.timeout); //starts listening later to skip elements found on startup. this might need tweaking
    
                return {
                    destroy: function () {
                        clearTimeout(bindAnimationLater);
                        if (styleAnimation) {
                            document.head.removeChild(styleAnimation);
                            styleAnimation = null;
                        }
                        document.removeEventListener('animationstart', eventHandler);
                        document.removeEventListener('MSAnimationStart', eventHandler);
                        document.removeEventListener('webkitAnimationStart', eventHandler);
                    }
                };
            }
    
    
            function tag(el) {
                el.QinsQ = true; //bug in V8 causes memory leaks when weird characters are used as field names. I don't want to risk leaking DOM trees so the key is not '-+-' anymore
            }
    
            function isTagged(el) {
                return (options.strictlyNew && (el.QinsQ === true));
            }
    
            function topmostUntaggedParent(el) {
                if (isTagged(el.parentNode) || el.nodeName === 'BODY') {
                    return el;
                } else {
                    return topmostUntaggedParent(el.parentNode);
                }
            }
    
            function tagAll(e) {
                tag(e);
                e = e.firstChild;
                for (; e; e = e.nextSibling) {
                    if (e !== undefined && e.nodeType === 1) {
                        tagAll(e);
                    }
                }
            }
    
            //aggregates multiple insertion events into a common parent
            function catchInsertions(selector, callback) {
                var insertions = [];
                //throttle summary
                var sumUp = (function () {
                    var to;
                    return function () {
                        clearTimeout(to);
                        to = setTimeout(function () {
                            insertions.forEach(tagAll);
                            callback(insertions);
                            insertions = [];
                        }, 10);
                    };
                })();
    
                return listen(selector, function (el) {
                    if (isTagged(el)) {
                        return;
                    }
                    tag(el);
                    var myparent = topmostUntaggedParent(el);
                    if (insertions.indexOf(myparent) < 0) {
                        insertions.push(myparent);
                    }
                    sumUp();
                });
            }
    
            //insQ function
            var exports = function (selector) {
                if (isAnimationSupported && selector.match(/[^{}]/)) {
    
                    if (options.strictlyNew) {
                        tagAll(document.body); //prevents from catching things on show
                    }
                    return {
                        every: function (callback) {
                            return listen(selector, callback);
                        },
                        summary: function (callback) {
                            return catchInsertions(selector, callback);
                        }
                    };
                } else {
                    return false;
                }
            };
    
            //allows overriding defaults
            exports.config = function (opt) {
                for (var o in opt) {
                    if (opt.hasOwnProperty(o)) {
                        options[o] = opt[o];
                    }
                }
            };
    
            return exports;
        })();
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
        insertionQ('.mt-signature').every(function(element){
            element.parentNode.removeChild(element);
        });
    
    })();
    
    

    הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
    צרו קשר במייל a0534186862@gmail.com

    WWWW תגובה 1 תגובה אחרונה
    0
    • WWWW מנותק
      WWWW מנותק
      WWW
      השיב למוגן ב נערך לאחרונה על ידי
      #49

      @מוגן עדיין אותה שגיאה?

      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

      מוגןמ תגובה 1 תגובה אחרונה
      1
      • מוגןמ מנותק
        מוגןמ מנותק
        מוגן
        כתב ב נערך לאחרונה על ידי
        #50

        כעת אין שגיאה אבל בפועל לא מוסתר לי החתימה.

        הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
        צרו קשר במייל a0534186862@gmail.com

        תגובה 1 תגובה אחרונה
        1
        • מוגןמ מנותק
          מוגןמ מנותק
          מוגן
          השיב לWWW ב נערך לאחרונה על ידי
          #51

          @WWW אשמח לדעת אם איזה תוסף אתה משתמש אולי איתו זה יעבוד לי חלק.

          הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
          צרו קשר במייל a0534186862@gmail.com

          WWWW תגובה 1 תגובה אחרונה
          0
          • WWWW מנותק
            WWWW מנותק
            WWW
            השיב למוגן ב נערך לאחרונה על ידי WWW
            #52

            @מוגן tampermonkey.
            אני חושב שצריך לעבור לפרטי...
            המייל שלי בפרופיל.

            WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

            מעלה ומורידמ תגובה 1 תגובה אחרונה
            1
            • מעלה ומורידמ מנותק
              מעלה ומורידמ מנותק
              מעלה ומוריד
              השיב לWWW ב נערך לאחרונה על ידי
              #53

              @WWW אשמח אם תוכל לעדכן כאן לאחר פתרון הבעיה של @מוגן שנוגעת גם לי

              מנע בזבוז זמן, זכה את הרבים!

              WWWW תגובה 1 תגובה אחרונה
              0
              • WWWW מנותק
                WWWW מנותק
                WWW
                השיב למעלה ומוריד ב נערך לאחרונה על ידי
                #54

                @מעלה-ומוריד ככל הנראה זה בגלל שיש לו דפדפן כרום בטא.

                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                מעלה ומורידמ תגובה 1 תגובה אחרונה
                1
                • מעלה ומורידמ מנותק
                  מעלה ומורידמ מנותק
                  מעלה ומוריד
                  השיב לWWW ב נערך לאחרונה על ידי מעלה ומוריד
                  #55

                  @WWW מעניין אם כן מהי הסיבה שהקוד הזה אצלי אינו עושה את העבודה.
                  אני משתמש בכרום רגיל. העתקתי את הקוד מההודעה הראשונה והתאמתי אותו לסקריפט בטמפרמונקי.

                  מנע בזבוז זמן, זכה את הרבים!

                  מוגןמ תגובה 1 תגובה אחרונה
                  0
                  • מוגןמ מנותק
                    מוגןמ מנותק
                    מוגן
                    השיב למעלה ומוריד ב נערך לאחרונה על ידי
                    #56

                    @מעלה-ומוריד א. תודות @WWW על העזרה בפרטי
                    כרגע למרות הרצון הטוב והנסיון הממושך באופן פרטי לא נפתרה הבעיה.
                    באמת משהו מוזר.

                    הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
                    צרו קשר במייל a0534186862@gmail.com

                    תגובה 1 תגובה אחרונה
                    1
                    • מוגןמ מנותק
                      מוגןמ מנותק
                      מוגן
                      כתב ב נערך לאחרונה על ידי
                      #57

                      כעת בבדיקה נוספת הקוד הזה עובד לי ב"ה.

                      // ==UserScript==
                      // @name          הסרת מיילטראק חתימה
                      // @namespace    http://tampermonkey.net/
                      // @version      0.1
                      // @description
                      // @author       WWW
                      // @match        https://mail.google.com/*
                      // @grant        none
                      // ==/UserScript==
                      
                      (function() {
                          // insertion-query v1.0.3 (2016-01-20) https://github.com/naugtur/insertionQuery
                          // license:MIT
                          // Zbyszek Tenerowicz <naugtur@gmail.com> (http://naugtur.pl/)
                          var insertionQ = (function () {
                          "use strict";
                      
                              var sequence = 100,
                                  isAnimationSupported = false,
                                  animationstring = 'animationName',
                                  keyframeprefix = '',
                                  domPrefixes = 'Webkit Moz O ms Khtml'.split(' '),
                                  pfx = '',
                                  elm = document.createElement('div'),
                                  options = {
                                      strictlyNew: true,
                                      timeout: 20
                                  };
                      
                              if (elm.style.animationName) {
                                  isAnimationSupported = true;
                              }
                      
                              if (isAnimationSupported === false) {
                                  for (var i = 0; i < domPrefixes.length; i++) {
                                      if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
                                          pfx = domPrefixes[i];
                                          animationstring = pfx + 'AnimationName';
                                          keyframeprefix = '-' + pfx.toLowerCase() + '-';
                                          isAnimationSupported = true;
                                          break;
                                      }
                                  }
                              }
                      
                      
                              function listen(selector, callback) {
                                  var styleAnimation, animationName = 'insQ_' + (sequence++);
                      
                                  var eventHandler = function (event) {
                                      if (event.animationName === animationName || event[animationstring] === animationName) {
                                          if (!isTagged(event.target)) {
                                              callback(event.target);
                                          }
                                      }
                                  };
                      
                                  styleAnimation = document.createElement('style');
                                  styleAnimation.innerHTML = '@' + keyframeprefix + 'keyframes ' + animationName + ' {  from {  outline: 1px solid transparent  } to {  outline: 0px solid transparent }  }' +
                                      "\n" + selector + ' { animation-duration: 0.001s; animation-name: ' + animationName + '; ' +
                                      keyframeprefix + 'animation-duration: 0.001s; ' + keyframeprefix + 'animation-name: ' + animationName + '; ' +
                                      ' } ';
                      
                                  document.head.appendChild(styleAnimation);
                      
                                  var bindAnimationLater = setTimeout(function () {
                                      document.addEventListener('animationstart', eventHandler, false);
                                      document.addEventListener('MSAnimationStart', eventHandler, false);
                                      document.addEventListener('webkitAnimationStart', eventHandler, false);
                                      //event support is not consistent with DOM prefixes
                                  }, options.timeout); //starts listening later to skip elements found on startup. this might need tweaking
                      
                                  return {
                                      destroy: function () {
                                          clearTimeout(bindAnimationLater);
                                          if (styleAnimation) {
                                              document.head.removeChild(styleAnimation);
                                              styleAnimation = null;
                                          }
                                          document.removeEventListener('animationstart', eventHandler);
                                          document.removeEventListener('MSAnimationStart', eventHandler);
                                          document.removeEventListener('webkitAnimationStart', eventHandler);
                                      }
                                  };
                              }
                      
                      
                              function tag(el) {
                                  el.QinsQ = true; //bug in V8 causes memory leaks when weird characters are used as field names. I don't want to risk leaking DOM trees so the key is not '-+-' anymore
                              }
                      
                              function isTagged(el) {
                                  return (options.strictlyNew && (el.QinsQ === true));
                              }
                      
                              function topmostUntaggedParent(el) {
                                  if (isTagged(el.parentNode) || el.nodeName === 'BODY') {
                                      return el;
                                  } else {
                                      return topmostUntaggedParent(el.parentNode);
                                  }
                              }
                      
                              function tagAll(e) {
                                  tag(e);
                                  e = e.firstChild;
                                  for (; e; e = e.nextSibling) {
                                      if (e !== undefined && e.nodeType === 1) {
                                          tagAll(e);
                                      }
                                  }
                              }
                      
                              //aggregates multiple insertion events into a common parent
                              function catchInsertions(selector, callback) {
                                  var insertions = [];
                                  //throttle summary
                                  var sumUp = (function () {
                                      var to;
                                      return function () {
                                          clearTimeout(to);
                                          to = setTimeout(function () {
                                              insertions.forEach(tagAll);
                                              callback(insertions);
                                              insertions = [];
                                          }, 10);
                                      };
                                  })();
                      
                                  return listen(selector, function (el) {
                                      if (isTagged(el)) {
                                          return;
                                      }
                                      tag(el);
                                      var myparent = topmostUntaggedParent(el);
                                      if (insertions.indexOf(myparent) < 0) {
                                          insertions.push(myparent);
                                      }
                                      sumUp();
                                  });
                              }
                      
                              //insQ function
                              var exports = function (selector) {
                                  if (isAnimationSupported && selector.match(/[^{}]/)) {
                      
                                      if (options.strictlyNew) {
                                          tagAll(document.body); //prevents from catching things on show
                                      }
                                      return {
                                          every: function (callback) {
                                              return listen(selector, callback);
                                          },
                                          summary: function (callback) {
                                              return catchInsertions(selector, callback);
                                          }
                                      };
                                  } else {
                                      return false;
                                  }
                              };
                      
                              //allows overriding defaults
                              exports.config = function (opt) {
                                  for (var o in opt) {
                                      if (opt.hasOwnProperty(o)) {
                                          options[o] = opt[o];
                                      }
                                  }
                              };
                      
                              return exports;
                          })();
                      
                          if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
                              module.exports = insertionQ;
                          }
                          if (window.trustedTypes && window.trustedTypes.createPolicy) {
                        window.trustedTypes.createPolicy('default', {
                          createHTML: (string, sink) => string
                        });
                      }
                      
                          insertionQ('#mt-signature').every(function(element){
                              element.parentNode.removeChild(element);
                              console.log("חתימה הוסרה בהצלחה!");
                          });
                      
                      
                      
                      })();
                      

                      הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
                      צרו קשר במייל a0534186862@gmail.com

                      תגובה 1 תגובה אחרונה
                      1
                      • pcinfogmachP מנותק
                        pcinfogmachP מנותק
                        pcinfogmach
                        כתב ב נערך לאחרונה על ידי pcinfogmach
                        #58

                        תסלחו לי על הבורות רציתי לשאול מה בדיוק הנושא פה? ולמה צריך כזה סקריפט משוכלל ולא לעשות סקריפט פשוט שמוחק את האלמנט או מסתיר אותו (מסתמא עדיף כדי למנוע שגיאות בלתי צפויות)?
                        אני שואל כי אני רוצה לטעון אתר דרך C# ולהסיר כמה אלמנטים על ידי הזרקת JS אז לפני תחילת העבודה אני רוצה לברר למה אני נכנס ואיפה התקרים....

                        גמ"ח מידע מחשבים ואופיס

                        מוגןמ צדיק תמיםצ WWWW 3 תגובות תגובה אחרונה
                        0
                        • מוגןמ מנותק
                          מוגןמ מנותק
                          מוגן
                          השיב לpcinfogmach ב נערך לאחרונה על ידי
                          #59

                          @pcinfogmach תתייג את @WWW לי אין שום הבנה בענין.

                          הקמת מערכות טלפוניה חכמות, שירות מהיר ומקצועי, מחיר ללא תחרות
                          צרו קשר במייל a0534186862@gmail.com

                          תגובה 1 תגובה אחרונה
                          0
                          • צדיק תמיםצ מנותק
                            צדיק תמיםצ מנותק
                            צדיק תמים
                            השיב לpcinfogmach ב נערך לאחרונה על ידי
                            #60

                            @pcinfogmach כי זה לא אלמנט שקיים עם טעינת הדף
                            רק כשיוצרים מייל חדש

                            Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                            טיפים

                            תגובה 1 תגובה אחרונה
                            2
                            • WWWW מנותק
                              WWWW מנותק
                              WWW
                              השיב לpcinfogmach ב נערך לאחרונה על ידי WWW
                              #61

                              @pcinfogmach כתב בשיתוף: סקריפט להסרת אלמנט מיד לאחר שנוצר:

                              למה צריך כזה סקריפט משוכלל ולא לעשות סקריפט פשוט שמוחק את האלמנט או מסתיר אותו (מסתמא עדיף כדי למנוע שגיאות בלתי צפויות)?

                              אי אפשר להסתיר, כי אנחנו רוצים שלא יגיע לנמען, לא שלא יוצג לשולח.
                              בנוסף כפי שכבר כתבו, האלמנט נוצר אחר כך, וכפי לשון כותרת הנושא.

                              WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                              תגובה 1 תגובה אחרונה
                              2
                              • המשמחה מנותק
                                המשמחה מנותק
                                המשמח
                                כתב ב נערך לאחרונה על ידי
                                #62

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

                                WWWW תגובה 1 תגובה אחרונה
                                0
                                • WWWW מנותק
                                  WWWW מנותק
                                  WWW
                                  השיב להמשמח ב נערך לאחרונה על ידי WWW
                                  #63

                                  @המשמח

                                  1. תתקין את התוסף.
                                  2. לאחר סיום ההתקנה יש ללחוץ כאן, וללחוץ על INSTALL.
                                  3. טען מחדש את כרטיסיית ג'מייל.

                                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                  תגובה 1 תגובה אחרונה
                                  2

                                  • 1
                                  • 2
                                  • 3
                                  • 4
                                  בא תתחבר לדף היומי!
                                  • התחברות

                                  • אין לך חשבון עדיין? הרשמה

                                  • התחברו או הירשמו כדי לחפש.
                                  • פוסט ראשון
                                    פוסט אחרון
                                  0
                                  • דף הבית
                                  • קטגוריות
                                  • פוסטים אחרונים
                                  • משתמשים
                                  • חיפוש
                                  • חוקי הפורום