我正在尝试在 Firefox (v22.0) 中运行我的 Dart 应用程序。这是应用程序的主页:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My 1st Dart App</title>
<link rel="stylesheet" href="assets/myapp/myapp/myapp.css">
</head>
<body>
<h2>Push the button!</h2>
<div id="sample_container_id">
<input type="button" id="someButton" value="Some Button!" />
</div>
<script type="application/dart" src="myapp.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
当我按原样运行时,我的应用程序运行良好,并且完全按照我的意愿运行。但是,如果我去掉第一个<script/>
标签 ( <script type="application/dart" src="myapp.dart"></script>
),则 Dart 代码不会在运行时执行。例如,我在 HTML 按钮上配置了一个点击处理程序,如下所示:
void main() {
querySelector("#someButton").onClick.listen((e) => window.alert("Hello!"));
}
如果我删除第一个<script/>
标签,那么当我点击时someButton
什么也不会发生。
(1) 为什么删除第一个<script/>
标签会“杀死” Dart 代码?我pub build
用来生成交叉编译的 JavaScript,那么为什么 Firefox 应该关心我的 Dart 源文件(因为 FF 22.0 本身不支持 Dart)?
(2) Dart 有没有推荐的<DOCTYPE>
声明,比如transitional等?