페이지가 준비된 후에 일부 DOM 요소에 대한 정보를 얻고 싶습니다. 그러나 이것이 언제인지를 알지 못했습니다. document.on.contentLoaded
및 document.on.readyStateChange
을 사용해 보았지만 둘 중 어느 것도 작동하지 않는 것 같습니다. 다음 코드에서는 onContentLoaded()
및 onReadyChanged()
이 호출되지 않습니다.DOM이 Dart에서 준비되면 알려주는 방법은 무엇입니까?
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();
}
항상 'window.on.load'를 사용할 수 있습니다. 정확한 DOM 이벤트는'document.addEventListener ("DOMContentLoaded")'입니다. 그래서 try'document.on.DOMContentLoaded' – Raynos
DocumentEvents 인터페이스에서 "DOMContentLoaded"라는 이벤트를 찾을 수 없습니다. 그것이 존재한다고 확신합니까? – Curyous
DOMContentLoaded는 이벤트에 대해 정의 된 w3c 이름입니다. 나는 다트 또는 DOM 에뮬레이션 레이어에 대해 아무것도 모른다. document.addEventListener ("DOMContentLoaded", cb)' – Raynos