标签: dart-html

在Dart中,如果我听两个听众的点击事件,我怎么知道哪个先发生?

如果我写下面的Dart代码,我怎么知道哪个点击处理程序首先发生?

main() {
  var button = new ButtonElement();
  var stream = button.onClick.asBroadcastStream();

  stream.listen(clickHandler1);
  stream.listen(clickHandler2);
}
Run Code Online (Sandbox Code Playgroud)

假设我在其他代码中对前两个点击处理程序一无所知,但我注册了另一个.

  • 我能知道该流有两个监听器吗?
  • 我可以暂停或取消所有其他订阅者吗?
  • 如果我button.onClick.asBroadcastStream()在其他地方再次写入,它是否指向与使用的相同的流main
  • 我可以在其中一个处理程序中说不将事件传递给其他广播监听器吗?那是消费者吗?

dart dart-html

6
推荐指数
1
解决办法
1267
查看次数

如何从HttpRequest.postFormData的catchError的_XMLHttpRequestProgressEvent中获取HTTP响应文本?

给出以下伪代码:

import "dart:html";

HttpRequest.postFormData(url, data).then((HttpRequest request) {

    ...

}).catchError((error) {

    // How do I get the response text from here?

});
Run Code Online (Sandbox Code Playgroud)

如果Web服务器回复a 400 BAD REQUEST,catchError则将调用.但是,error参数的类型_XMLHttpRequestProgressEvent在Dart库中显然不存在.

那么,如何400 BAD REQUEST从Web服务器发送的响应中获取响应文本?

dart dart-html

6
推荐指数
1
解决办法
1786
查看次数

从 Dart 中的浏览器向 websocket 连接添加额外的标头

我正在尝试建立一个经过身份验证的 websocket 连接,这个问题是服务器部分的类似问题的兄弟。当我从浏览器建立 websocket 连接时,如何添加额外的标头?

我正在尝试使用dart:html的 WebSocket 对象连接到需要authentication:包含当前身份验证令牌 (JWT)的标头来验证用户身份的服务器。问题是 WebSocket 在构造函数调用后立即建立连接,它没有任何参数来发送带有 http 请求的标头:

var ws = new WebSocket('wss://localhost:8080/ws');
Run Code Online (Sandbox Code Playgroud)

在该字符串之后,websocket 连接因错误而关闭,因为我的服务器拒绝所有在该路径的标头中不包含身份验证令牌的请求。

浏览器端是否有其他 websocket 实现可以验证 websocket 连接?

是否有可能为浏览器编写不同的 WebSocket 实现?

我不是安全专家,但是在路径请求中发送令牌而不是标头是否安全?就像是:

wss://localhost:8080/ws?token=BLAHBLAHBLAH
Run Code Online (Sandbox Code Playgroud)

security authentication websocket dart dart-html

6
推荐指数
1
解决办法
2499
查看次数

将Dart类和函数导出到javascript

如果我想使用Dart创建一个js库,我如何导出Dart类和函数以便在javascript中使用?

是否有像scala.js类似的内容?

@JSExport
class Hello{
    num x = 0
    Hello(this.x)
}
Run Code Online (Sandbox Code Playgroud)

因此,在javascript中,用户可以将其实例化为var hi = new Hello(1)

dart dart-html dart-js-interop

6
推荐指数
1
解决办法
242
查看次数

如何在 dart 中解析 PDF 文件的内容?

有什么方法可以将 PDF 文件的内容解析为小部件或更易于理解的内容,或者可能解析为可以修改并再次转换为 PDF 格式的内容?

dart dart-pub dart-html flutter flutter-dependencies

6
推荐指数
1
解决办法
247
查看次数

未找到:'dart:html' import 'dart:html'; 我不需要 dart:html 并且我也没有使用,但我尝试导入它,但错误没有消失

我正在编写一个代码,其中我正在使用 firebase 进行注册。包括个人资料图像在内的数据将被火存储。但问题是我遇到了多个无法解决的错误。我的应用程序甚至还没有运行过一次。其中一个错误是 "import:dart:html" ,我检查了所有 dart 文件,但没有找到任何未使用的 dart:html 导入。我使用 import"dart.io" 来表示术语“late File”。我也通过导入 dart:html 进行了尝试,但错误仍然相同。我还尝试删除 ProfileImage 的所有代码,但错误仍然存​​在。以下是有错误的 y 代码的所有文件:

\n

错误

\n
Launching lib\\main.dart on sdk gphone x86 arm in debug mode...\nRunning Gradle task 'assembleDebug'...\nInvalid depfile: D:\\Noum\\Data\\Uni Data\\Codes\\Android Studio\\Flutter\\firebase_flutter_app\\.dart_tool\\flutter_build\\040ba043425f685efe2a35025cf4d63f\\kernel_snapshot.d\nInvalid depfile: D:\\Noum\\Data\\Uni Data\\Codes\\Android Studio\\Flutter\\firebase_flutter_app\\.dart_tool\\flutter_build\\040ba043425f685efe2a35025cf4d63f\\kernel_snapshot.d\n/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/firebase-9.0.1/lib/src/storage.dart:2:8: Error: Not found: 'dart:html'\nimport 'dart:html';\n       ^\n/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/firebase-9.0.1/lib/src/utils.dart:2:8: Error: Not found: 'dart:html'\nimport 'dart:html';\n       ^\n/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.3/lib/js.dart:8:1: Error: Not found: 'dart:js'\nexport 'dart:js' show allowInterop, allowInteropCaptureThis;\n^\n/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.3/lib/js_util.dart:8:1: Error: Not found: 'dart:js_util'\nexport 'dart:js_util';\n^\n/C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/firebase-9.0.1/lib/src/auth.dart:340:25: Error: The method 'allowInterop' isn't defined for the class 'Auth'.\n - 'Auth' is …
Run Code Online (Sandbox Code Playgroud)

android firebase dart-html flutter

6
推荐指数
1
解决办法
4138
查看次数

如何在Dart中制作window.prompt?

我使用Dart制作一些应用程序,我有一个简单的问题.我没有在dart:html库中找到提示对话框.我发现只有警报和确认对话电话,但那不是我需要的.我尝试过Dart api的其他一些可能性,但没办法做到这一点.我认为应该有类似于模态对话框或Dart自己的提示对话框.我知道,modal在这里,但它只在弹出窗口中加载另一个文件.

有人能帮助我吗?


更新:实际上,我找到了一个解决方案.它是dart:js库中的JavaScript仿真:

var password=context.callMethod('prompt',['Password','']);
Run Code Online (Sandbox Code Playgroud)

这是一个很好的解决方案,但我认为,必须有比模拟JavaScript更好的东西.


更新2:因为在飞镖规范的提示对话框中的不足,飞镖API和飞镖图书馆这里是谷歌代码问题跟踪的错误,让我们出演的bug,如果你认为提示是spec重要,或者如果你对此有何评论有任何其他的想法,如何以现代的方式做(你可以尝试提出像内置的模态对话框的例子).或者只是分享它,如果您认为提示/模态对话框实现也应该在现代编程语言中...


更新3:现在我们正在讨论新的模态警报,确认和提示对话框,这些对话框可以在Polymer.dart库中.是谷歌代码问题跟踪器的增强,让我们出演的bug,如果你是该对话框的现代模式的形式,或讨论,如果你知道如何做的更好?

dart dart-html dart-js-interop

5
推荐指数
1
解决办法
1524
查看次数

Dart:以编程方式向 DivElement 添加子元素

假设我想以编程方式将 a 添加ButtonElement到 a DivElement,这样生成的 HTML 是:

<div class="blah">
    <input type="button" name="whatever" value="Push Me!" />
</div>
Run Code Online (Sandbox Code Playgroud)

在 Dart 中,我在DivElement类上看到了几种方法,但我不确定哪一种适合哪种上下文:

ButtonElement button = constructButtonElement();
DivElement div = constructDiv();

div.add(button);
div.nodes.add(button);
div.children.add(button);
// ???
Run Code Online (Sandbox Code Playgroud)

任何其他类型的容器也是如此:BodyElement,SpanElement等。将 DOM 元素动态添加到父容器的正确方法是什么?

dart dart-html

5
推荐指数
1
解决办法
1199
查看次数

如何使用dart将多个对象打印到console.log?

在javascript中,如果我有3个这样的变量:

var x = 1
var y = 'cat'
var z = {color: 'blue'}
Run Code Online (Sandbox Code Playgroud)

我可以像这样记录所有这些:

console.log('The values are:', x, y, z)
Run Code Online (Sandbox Code Playgroud)

在dart中,你可以在编译的javascript中import 'dart:html'映射print到它console.log.但print只需要一个参数 - 而不是3.当编译的js在浏览器中运行时,这个dart会失败:

print('The values are:', x, y, z)
Run Code Online (Sandbox Code Playgroud)

我唯一能想到的就是将这些参数字符串化并将它们连接成一个字符串,并打印出来.但后来我失去了Chrome扩展打印到控制台的对象的能力.

是否可以使用一个print语句(或类似语句)打印多个对象?如果是这样,怎么样?

dart dart-html

5
推荐指数
1
解决办法
2042
查看次数

通过 Dart Lang 中的值获取变量名称

例如,我有一个这样的变量。

var fooBar = 12;
Run Code Online (Sandbox Code Playgroud)

我想要在 Dart lang 中做这样的事情。

print_var_name(fooBar);
Run Code Online (Sandbox Code Playgroud)

打印:

fooBar
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?这甚至可能吗?

谢谢你。

dart dart-html

5
推荐指数
1
解决办法
2757
查看次数