<pre id="test">
<script class="testbody" type="application/javascript">
/** Test for Bug 387706 **/
SimpleTest.waitForExplicitFinish();
/** Variable for receivers to attempt to get. */
window.privateVariable = 17;
/** For sentinel finish, if necessary in deficient browsers. */ var finished = false;
/** Ends testing if it isn't already done. */
function finish()
{
if (!finished)
{
finished = true;
SimpleTest.finish();
}
}
/** Receives MessageEvents. */
function messageReceiver(evt)
{
try
{
ok(evt instanceof MessageEvent, "umm, how did we get this?");
is(evt.lastEventId, "", "postMessage creates events with empty lastEventId");
is(evt.type, "message", "expected events of type 'message'");
ok(evt.isTrusted === true, "should have been a trusted event");
var data = evt.data;
// Check for the message we send to ourselves; it can't be
// counted as a test, and it's conceptually distinct from
// the other cases, so just return after handling it.
if (data === "post-to-self")
{
respondToSelf(evt);
return;
}
switch (evt.data)
{
case "post-to-self-response":
receiveSelf(evt);
break;
case "post-to-other-same-domain-response":
receiveOtherSameDomain(evt);
break;
case "post-to-other-cross-domain-response":
receiveOtherCrossDomain(evt);
// All the tests have executed, so we're done.
finish();
break;
function receiveOtherCrossDomain(evt)
{
is(evt.origin, "http://example.org:8000", "same-domain response event has wrong origin");
// can't use |is| here, because ok tries to get properties on its arguments
// for creating a formatted logging message
ok(evt.source === window.frames.otherCrossDomain, "wrong source for cross-domain message!");
}
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.
e.g. http://myserver.net/mysource.java
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.