Как удалить / удалить функцию JavaScript ()? - PullRequest
0 голосов
/ 02 января 2019

Как мне удалить функцию, если обнаружен определенный браузер?Вот функция и обнаружение:

function parallaxIt(e, target, movement) {
  var $this = $("#app");
  var relX = e.pageX - $this.offset().left;
  var relY = e.pageY - $this.offset().top;

  TweenMax.to(target, 1, {
    x: (relX - $this.width() / 2) / $this.width() * movement,
    y: (relY - $this.height() / 2) / $this.height() * movement,
    z: 0.01,
    rotation:0.01
  });
}


var version = detectIE();
if (version === false) {
  //Do Nothing
} else if (version >= 12) {
    //Remove Function
} else {
    $("#iefix").attr({href : "/static/css/app-iefix.css"});
    //Remove Function
}

Итак, когда какой-либо IE обнаружен, я хочу удалить функцию parallaxIt() или сломать ее, чтобы она не сработала?С уважением

(часть кода обнаружения, очевидно, является небольшим фрагментом полного кода, поэтому вам проще читать, а не просматривать полный код)

1 Ответ

0 голосов
/ 02 января 2019

По крайней мере, для меня в Chrome v71 (Windows 10) удаление функции ничего не делает (она продолжает существовать). Но вы можете переназначить , чтобы она стала недоступной:

function parallaxIT() {
  console.log("inside parallaxIT");
}

// delete
delete window.parallaxIT;
console.log("parallaxIT was 'deleted', does it still show output:");
parallaxIT();

console.log("=====");

// re-assign
window.parallaxIT = function() {}    // no-op function
console.log("parallaxIT was re-assigned, does it still show output:");
parallaxIT();

console.log("=====");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...