Я пытаюсь запустить приложение Dart в Firefox (v22.0). Вот домашняя страница приложения:
<!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>
, такое как переходное и т. д.?