Javascript 如何将此语法转换为CoffeeScript(js2coffee不起作用)?
基本上,我需要将下面的JavaScript片段翻译成CoffeeScriptJavascript 如何将此语法转换为CoffeeScript(js2coffee不起作用)?,javascript,coffeescript,Javascript,Coffeescript,基本上,我需要将下面的JavaScript片段翻译成CoffeeScript location.href = "javascript:(" + function() { window.onbeforeunload = function() { notifyBackground(collectData()); return undefined; }; } + "){}"; 返回“undefined”很重要,因为如果我删除页面,浏览器会要求用户确认是否要离开该页面 你可能想
location.href = "javascript:(" + function() {
window.onbeforeunload = function() {
notifyBackground(collectData());
return undefined;
};
} + "){}";
返回“undefined”很重要,因为如果我删除页面,浏览器会要求用户确认是否要离开该页面
你可能想知道我在干什么。基本上,这是一个问题
我试着做了以下几点:
location.href = "javascript:(" + ->
window.onbeforeunload = ->
notifyBackground(collectData())
return undefined
+ ")()"
但这变成了:
location.href = "javascript:(" + function() {
return window.onbeforeunload = function(e) {
notifyBackground(collectData());
return void 0;
};
};
return +")()";
使用它给了我:
location.href = "javascript:(" + ->
window.onbeforeunload = ->
notifyBackground collectData()
"undefined"
+ "){}"
如果我通过CoffeeScript运行它,我会得到这个JS输出(这是错误的)
试试网站是js到咖啡(和向后)的转换器。试试网站是js到咖啡(和向后)的转换器。这够近了吗
location.href = "javascript:(#{->
window.onbeforeunload = ->
notifyBackground(collectData())
`undefined`
return
}){}"
汇编至:
location.href = "javascript:(" + (function() {
window.onbeforeunload = function() {
notifyBackground(collectData());
return undefined;
};
}) + "){}";
请注意未定义字段周围的反勾号,以避免出现无效0
,以防万一这会造成差异(我不确定它是否会造成差异?)
编辑
在Chrome控制台中,undefined==void 0
为true
,因此
`undefined`
可能只是:
undefined
这够近吗
location.href = "javascript:(#{->
window.onbeforeunload = ->
notifyBackground(collectData())
`undefined`
return
}){}"
汇编至:
location.href = "javascript:(" + (function() {
window.onbeforeunload = function() {
notifyBackground(collectData());
return undefined;
};
}) + "){}";
请注意未定义字段周围的反勾号,以避免出现无效0
,以防万一这会造成差异(我不确定它是否会造成差异?)
编辑
在Chrome控制台中,undefined==void 0
为true
,因此
`undefined`
可能只是:
undefined
... 这与您的第一次尝试给出了类似的答案,但是没有返回undefined。但是如果您通过CoffeeScript解释器运行js2coffee.org的输出,则会得到我问题底部的JS代码。另外,
返回“undefined”
也很重要,因为如果我将其删除,浏览器将使用它来确认是否要离开页面。。。。这与您的第一次尝试给出了类似的答案,但是没有返回undefined。但是如果您通过CoffeeScript解释器运行js2coffee.org的输出,则会得到我问题底部的JS代码。另外,返回“undefined”
也很重要,因为如果我将其删除,浏览器将使用它来确认是否要离开页面。