var loadCount = 0;
function loadListener() {
++loadCount;
if (loadCount == 2) {
// Use a timer to ensure we don't get extra load events.
setTimeout(function() { var doc1URI = document.getElementById("i1").contentDocument.documentURI;
opener.ok(doc1URI.includes("frame1.html"), "Should have loaded the initial page to the first iframe. Got " + doc1URI); var doc2URI = document.getElementById("i2").contentDocument.documentURI;
opener.ok(doc2URI.includes("frame1.html"), "Should have loaded the initial page to the second iframe. Got " + doc2URI);
opener.finishTest();
}, 1000);
} else if (loadCount > 2) {
opener.ok(false, "Too many load events");
}
// if we don't get enough load events, the test will time out.
}
function setupIframe(id) { var ifr = document.getElementById(id);
return new Promise(function(resolve) {
ifr.onload = function() {
// Replace load listener to catch page loads from the session history.
ifr.onload = loadListener;
// Need to use setTimeout, because triggering loads inside
// load event listener has special behavior since at the moment
// the docshell keeps track of whether it is executing a load handler or not.
setTimeout(resolve);
}
ifr.contentWindow.location.href = "frame2.html";
});
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.