gpt4 book ai didi

Javascript minifier 移除函数

转载 作者:行者123 更新时间:2023-11-29 18:08:46 25 4
gpt4 key购买 nike

我有一个 JS 文件,我正试图缩小它,但它遇到了一些问题。这是文件:

$(document).ready(function () {
function DisplayMessage(message, iserror) {
var htmlclass = iserror ? "error" : "success";

$('div.response-message').empty()
.append(message)
.addClass(htmlclass);

$('div.response-message').animate({
top: "-1px"
}, 1000, function () {
alert("donee");
});
}

$('.account-overlay-link > a.link').click(function (e) {
e.preventDefault();
$('.account-overlay.background').removeClass("hide");
});

$('.account-overlay > .area > .close').click(function (e) {
e.preventDefault();
$('.account-overlay.background').addClass("hide");
});
});

如您所见,我在顶部有一个常规的 javascript 函数,在下面有两个 jQuery 事件处理程序。当我保存文件以缩小时,缩小后的文件包含两个 jQuery 处理程序,但找不到该函数。

奇怪的是,如果我删除两个 jQuery block 但保留函数,文件仍然会缩小,但它是空白的(除了 (document).ready),就好像函数没有存在。

我已经尝试重新创建文件,重新启动 Visual Studios,但没有任何效果...

最佳答案

您的函数未被“就绪”处理程序函数内的任何代码调用,因此它作为死代码被删除。无论如何,处理程序外部的任何内容都无法调用它。

如果您希望该函数成为全局可见的符号,则必须将其显式分配给 window 对象的属性:

$(document).ready(function () {
function DisplayMessage(message, iserror) {
var htmlclass = iserror ? "error" : "success";

$('div.response-message').empty()
.append(message)
.addClass(htmlclass);

$('div.response-message').animate({
top: "-1px"
}, 1000, function () {
alert("donee");
});
}
window.DisplayMessage = DisplayMessage;

如果您这样做,缩小器将不会删除它。

关于Javascript minifier 移除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29374909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com