Я пытаюсь запросить использование, если у них есть несохраненные электронные письма, прежде чем перезагрузить текущую страницу. Несохраненные письма хранятся в хеше, называемом несохраненным. Я написал сценарии в CoffeeScript.CoffeeScript onbeforeunload отвечает функцией not string
Если я использую этот код
window.onbeforeunload =() ->
return "Your emails are not saved. Click \"Save Email\" on any email to save them all. If you would like to discard your emails, just leave this page" if unsaved.count > 0
Вместо того, что побудило меня с сообщением я получаю:
function (data, fn) {
return arguments.length > 0 ?
this.on(name, null, data, fn) :
this.trigger(name);
}
Are you sure you want to reload this page?
The CoffeeScript переводится как:
window.onbeforeunload = function() {
if (unsaved.count > 0) {
return "Your emails are not saved. Click \"Save Email\" on any email to save them all. If you would like to discard your emails, just leave this page";
}
};
Как я должен идти о том, как заставить CoffeeScript возвращать строку, а не функцию?
Там что-то еще происходит, нет ничего в CoffeeScript, что бы произвести ваш 'вернуть $ (" форму. .. edit_email_template ") первый() представляет;'. Взгляните на [упрощенную версию] (http://coffeescript.org/#try:count%20%3D%2010%0Awindow.onbeforeunload%20%3D%20()% 20-% 3E% 0A% 20% 20% 20% 20return% 20% 22Pancakes% 22% 20if% 20count% 20% 3E% 200). –