如何删除/删除JavaScript函数()?
如果检测到某个浏览器,我将如何删除某个功能? 以下是功能和检测:如何删除/删除JavaScript函数()?,javascript,jquery,function,Javascript,Jquery,Function,如果检测到某个浏览器,我将如何删除某个功能? 以下是功能和检测: 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)
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()
,或者破坏它,使其不起作用?
问候
(代码中的detect部分显然是完整代码的一小部分,因此您可以更轻松地阅读而不是浏览完整代码)至少对我来说,在Chrome v71(Windows 10)中,删除该函数没有任何作用(它仍然存在)。但您可以将其重新分配为无操作功能:
函数视差{
console.log(“内部视差”);
}
//删除
删除window.parallaxIT;
log(“parallaxIT被‘删除’,它是否仍然显示输出:”);
视差();
console.log(“==”);
//重新分配
window.parallaxIT=function(){}//无操作函数
log(“视差被重新分配,它是否仍然显示输出:”);
视差();
console.log(“==”)代码>至少对我来说,在Chrome v71(Windows 10)中,删除该函数没有任何作用(它保持存在)。但您可以将其重新分配为无操作功能:
函数视差{
console.log(“内部视差”);
}
//删除
删除window.parallaxIT;
log(“parallaxIT被‘删除’,它是否仍然显示输出:”);
视差();
console.log(“==”);
//重新分配
window.parallaxIT=function(){}//无操作函数
log(“视差被重新分配,它是否仍然显示输出:”);
视差();
console.log(“==”)代码>如果正在使用IE,就不要首先调用它。它会在window.onload上触发。因此,请更改window.onload函数,以便它测试浏览器是否是IE第一个!我知道我可以在检测的else if和else中添加parallaxIt(),但我仍然想知道如何一起删除函数删除对它的所有引用。如何做到这一点取决于引用的位置。完全有可能最终生成引用错误,因为该函数已不存在,但其他代码仍试图调用它。这就是“删除函数”方法不好的原因之一。这太复杂了。如果使用IE,首先不要调用它。它会在window.onload上触发。所以更改window.onload函数,以便它测试浏览器是否是IE第一个!我知道我可以在检测的else if和else中添加parallaxIt(),但我仍然想知道如何一起删除函数删除对它的所有引用。如何做到这一点取决于引用的位置。完全有可能最终生成引用错误,因为该函数已不存在,但其他代码仍试图调用它。这就是“删除函数”方法不好的原因之一。这太复杂了。