Skip to content

Instantly share code, notes, and snippets.

@dmail
Created August 5, 2016 13:34
Show Gist options
  • Save dmail/c01abe4852230aa629a127f9f63aca23 to your computer and use it in GitHub Desktop.
Save dmail/c01abe4852230aa629a127f9f63aca23 to your computer and use it in GitHub Desktop.
Testing Symbol.toStringTag across frames
<HTML>
<HEAD>
<TITLE>JavaScript Example 14</TITLE>
</HEAD>
<BODY>
<FORM name="form1">
<INPUT type="text" name="text1" size="25" value="">
</FORM>
<script>
window.GLOBAL_ARRAY = [];
window.GLOBAL_ARRAY[Symbol.toStringTag] = 'foo';
console.log('log from frame B', Object.prototype.toString.call(window.GLOBAL_ARRAY));
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>JavaScript Example 13</TITLE>
</HEAD>
<BODY>
<FORM>
<INPUT type="button" value="What is cool?"
onClick="parent.right_frame.document.form1.text1.value='Me!'">
</FORM>
<script>
var frameB = parent.right_frame;
frameB.addEventListener("load", function() {
var frameBArray = frameB.GLOBAL_ARRAY;
console.log('log from frame A', Object.prototype.toString.call(frameBArray));
});
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Frames Values</TITLE>
</HEAD>
<FRAMESET cols="20%,80%">
<FRAME SRC="frameA.html" name="left_frame">
<FRAME SRC="frameB.html" name="right_frame">
</FRAMESET>
</HTML>
@dmail
Copy link
Author

dmail commented Aug 5, 2016

Chrome will log

log from frame B [object foo]
log from frame A [object foo]

Firefox does not yet support Symbol.toStringTag so it will log

log from frame B [object Array]
log from frame A [object Array]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment