首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haxe JavaScript HTML表单

Haxe JavaScript HTML表单
EN

Stack Overflow用户
提问于 2014-02-22 14:32:12
回答 2查看 871关注 0票数 0

在"Try Haxe“(http://try.haxe.org)站点中,默认的示例测试代码如下:

代码语言:javascript
复制
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”的输出如下:

哈克是伟大的:)

让我困惑的部分是javascript部分,因为当我自己在笔记本上编译源代码时,生成的test.js文件非常复杂,与显示在该页面上的"JS“完全不一样:

代码语言:javascript
复制
(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 :)“的结果。任何关于index.html页面用于JavaScript示例输出的实际代码的提示都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2014-02-22 17:18:05

这个问题是关于什么的还不清楚。

如果是关于

“我是否应该将haxe编译的"test.js”的内容更改为上面的内容?“

No,您不应该更改已编译的解决方案。

为什么?,因为每次您再次编译它时,都会重写它,这也取决于您所做的更改--您将对源文件进行日期更新。

对于HTML,您不需要特殊的设置,只需要调用test.js和依赖库的普通HTML。根据您的例子:

代码语言:javascript
复制
<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>
票数 1
EN

Stack Overflow用户

发布于 2018-04-03 19:47:41

首先,您不应该更改haxe编译器为您生成的test.js文件的内容。如果给出相同的Haxe代码,JS不应该与在您自己的计算机上编译的.js文件不同.

如果您尝试过使用简单的html页面运行:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/></head>
<body>

    <script type="text/javascript" src="test.js"></script>

</body>
</html>

如果页面上没有看到任何内容,请尝试打开控制台。你可能会发现“哈克斯棒极了!”你要找的人。如果您想要一个使用DOM的更具交互性的示例,请尝试以下.hx:

代码语言:javascript
复制
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

然后在相同的dir中运行一个.hxml文件来编译它,如下所示:

代码语言:javascript
复制
-js test.js
-main Test

这应该会给您一个test.js,它曾经在index.html中链接过,就像我在顶部发布的那个一样,它在浏览器DOM中提供了一些东西。

如果您想了解更多关于编译到JS并在浏览器中运行的信息,我建议在这里进一步阅读:

https://haxe.org/manual/target-javascript-getting-started.html

干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21955687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档