我希望在页面准备好之后获得有关某些DOM元素的一些信息,但我还没弄清楚如何判断它是什么时候.我已经尝试使用document.on.contentLoaded和document.on.readyStateChange,但既不似乎工作.在下面的代码,onContentLoaded()并且onReadyChanged()永远不会被调用.
class WhiteTrace {
WhiteTrace() {
}
void onContentLoaded(Event e) {
print("onContentLoaded");
// This never gets called
}
void onReady() {
print("onReady");
// Do stuff
}
void onReadyChanged(Event e) {
print("onReadyStateChanged");
// This never gets called
if (document.readyState == "complete") {
onReady();
document.on.readyStateChange.remove(onReadyChanged);
}
}
void onResize(Event e) {
// Do stuff
}
void run() {
write("Hello World!");
document.on.contentLoaded.add(onContentLoaded);
window.on.resize.add(onResize);
document.on.readyStateChange.add(onReadyChanged);
print("readyState: " + document.readyState);
if (document.readyState == "complete") {
document.on.readyStateChange.remove(onReadyChanged);
onReady();
}
}
void write(String message) {
// the HTML library defines a global "document" variable
document.query('#status').innerHTML = message;
}
}
void main() {
new WhiteTrace().run();
}
Run Code Online (Sandbox Code Playgroud)
您不需要关心DOM是否已加载 - Darts main仅在DOM完全加载时启动.
http://www.dartlang.org/articles/embedding-in-html/
"Dart代码仅在解析页面后执行.Dart程序员可以假设DOM已完全加载."
| 归档时间: |
|
| 查看次数: |
2923 次 |
| 最近记录: |