用dart2js -o test.js test.dart
编译以下代码
打开test.js
,复制其内容
打开浏览器,转到stackoverflow.com
打开开发工具,转到控制台选项卡
将test.js
的内容粘贴到控制台中,按Enter
我希望它单击“问问题”按钮,但是没有,为什么?
(我想这样做的原因是,我需要一些js,但是我不想碰js。)
// test.dart
import 'dart:html';
void main() {
document.querySelector('#nav-askquestion').click();
}
最佳答案
我没有深入研究,但给人的印象是,生成的代码会为脚本加载的事件注册自身,然后执行“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
中的代码。
关于dart - 为什么将dart2js的输出复制并粘贴到控制台不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065573/