dart - 为什么将dart2js的输出复制并粘贴到控制台不起作用?

标签 dart dart2js

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/

相关文章:

intellij-idea - Dart - dart2js 和进一步的尺寸优化

flutter - 在 flutter 中点击 1 次后,文本字段不会立即获取值。问题是什么?

javascript - dart2js 代码如何比 javascript 更快?

dart - 支持将哪些特定的浏览器版本编译为JavaScript dart?

dart - dart2js 之后异步函数中两个 keyCode 的比较不正确

deployment - 如何部署 Polymer dart 应用程序

Flutter Image Widget 不会在更改状态时更新

unit-testing - 如何使用 dart mockito 模拟索引运算符?

flutter - 如何在Flutter中打开我的应用程序中另一个应用程序的特定页面?

flutter - 如何在Flutter中的Carousel Slider末端触发功能?