我有一個JS文件,我試圖縮小,但它有一些麻煩。這裏是文件:Javascript minifier刪除函數
$(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塊但保留了該函數,文件仍然會縮小,但它是空白的(除了(document).ready
),就好像函數不存在一樣。
我試圖重新創建該文件,重新啓動視覺工作室,但沒有什麼工作......
這樣不幸 – Frayt 2015-03-31 17:50:28
@Frayt以及minifier你用的是什麼window.DisplayMessage並不能改變什麼?就個人而言,如果將一個函數引用複製到'window'屬性並沒有使其成爲「活的」,我認爲它是一個錯誤,但是你的縮小器可能會要求你明確地告訴它(通過特殊的評論或某個東西)不要視爲死代碼。 – Pointy 2015-03-31 17:54:36
@Frayt還注意到'window.DisplayMessage = DisplayMessage''需要** **外的函數,而不是裏面的。 – Pointy 2015-03-31 17:55:12