[英]Haxe JavaScript HTML form
在“ Try Haxe”( http://try.haxe.org )站点中,默认的示例测试代码如下:
class Test {
static function main(){
#if js
new js.JQuery("body").html("Haxe is great :)");
#elseif flash
trace("Haxe is great :)");
#end
}
}
在该页面上运行它非常简单(可以选择“选项”并以“ JS”或“ SWF”为目标),并且“ SWF”的输出如下:
Test.hx:6:Haxe很棒:)
而“ JS”的输出如下:
Haxe很棒:)
令我感到困惑的部分是javascript部分,因为当我自己在笔记本电脑上编译源代码时,生成的test.js
文件非常复杂,看起来与该页面上显示的“ JS源代码”完全不同:
(function () { "use strict";
var Test = function() { };
Test.main = function() {
new js.JQuery("body").html("Haxe is great :)");
};
var js = {};
var q = window.jQuery;
js.JQuery = q;
Test.main();
})();
我应该将Haxe编译的test.js
的内容更改为上述内容吗? 另外,我不知道实际的index.html
页面应该如何显示以显示JavaScript输出“ Haxe great :)”的结果。 有关JavaScript示例输出的index.html
页的实际代码的提示,将不胜感激。
目前尚不清楚问题是什么。
如果是关于
“我应该将haxe编译的“ test.js”的内容更改为上面的内容吗?”
不 ,您不应更改已编译的解决方案。
为什么? 因为每次您再次编译它时,它都会被覆盖,所以根据您的更改,您将使源文件过时。
关于HTML,您不需要特殊的设置,只需一个普通的HTML即可调用test.js和依赖库。 根据您的示例:
<html>
<head>
<title>Hello haxe :)</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="test.js"></script>
</head>
<body>
</body>
</html>
首先,您不应该更改haxe编译器为您生成的test.js文件的内容。 如果使用相同的Haxe代码,则JS Source看起来应该与在您自己的计算机上编译的.js文件看起来没有什么不同...
如果您尝试使用简单的html页面运行:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/></head>
<body>
<script type="text/javascript" src="test.js"></script>
</body>
</html>
并且您在页面上没有看到任何内容,请尝试打开控制台。 您可能会发现“骗子很棒!” 您正在寻找的。 如果您想要使用DOM的更具交互性的示例,请尝试以下.hx:
import js.Browser;
class Test {
static function main() {
var button = Browser.document.createButtonElement();
button.textContent = "Click me!";
button.onclick = function(event) {
Browser.alert("Haxe is great");
}
Browser.document.body.appendChild(button);
}
}
确保将文件命名为test.hx
然后通过在同一目录中运行.hxml文件,并使用以下命令进行编译:
-js test.js
-main Test
这应该给您一个test.js,就像我在顶部发布的那样,它一旦链接到index.html中,就可以在浏览器DOM中提供一些功能。
如果您想了解有关编译为JS并在浏览器中运行代码的更多信息,我建议在这里进一步阅读:
https://haxe.org/manual/target-javascript-getting-started.html
干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.