使用dart2js -o test.js test.dart
打开test.js
,复制其内容
打开浏览器,转到stackoverflow.com
打开开发工具,转到控制台选项卡
将test.js
的内容粘贴到控制台,点击输入
我希望它点击"提问#34;按钮,但它没有,为什么?
(我想这样做的原因是,我需要一些js,但我不想触摸js。)
// test.dart
import 'dart:html';
void main() {
document.querySelector('#nav-askquestion').click();
}
答案 0 :(得分:1)
我没有深入挖掘,但我觉得生成的代码会为脚本加载的事件注册自己,然后执行" main"作为事件处理程序我不太了解JavaScript和浏览器行为,足以理解这是如何工作的。
我通过在开发控制台中运行此代码来实现它的工作
(function runTest() {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "test.js";
document.body.appendChild(s);}
)();
其中test.js
(dart2js
生成的输出)文件与index.html
位于同一目录中。
代码添加动态引用dart2js
输出的脚本标记,并执行test.js
中的代码。