Thanks Troy,
That's a a nice bit of JS, but it's not quite what I'm looking for. It
accesses element values within another frame. I'm trying to get the entire
frame contents where there may or may not be elements defined and the frames
both have the same parent frame.
How about this: Is it possible to load a variable or DIV element with the
contents from a url?
ie var txt = someFunction(parent.otherFrame.location);
or
document.write('<DIV>'+contentsOf(someURL)+'</DIV>');
Thanks
Dave
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Troy Sosamon
> Sent: Monday, June 24, 2002 12:55 PM
> To: Multiple recipients of list witango-talk
> Subject: RE: Witango-Talk: Javascript Question
>
>
> Dave,
>
> Yes you can access other frames from a Java script, but I think
> you have to
> be in the parent or one of the child frames to do it. Here is a
> sample JS
> from my book accessing frames for a tic-tac-toe game.
>
> I recall reading a security bulliten a while ago where there was
> a bug in IE
> and hackers could access frames from unrelated windows. I think this has
> been fixed, but of course it depends on your version of IE and
> what patches
> you have.
>
> Troy Sosamon
>
> --------------
> function isBlank(n) {
> if(owns("player",n) || owns("computer",n)) return false
> return true
> }
> function owns(who,i) {
> var fr = parent.parent.frames[1]
> var doc = fr.document
> var field = doc.forms[0].elements[i]
> if(field==null || field.value==who) return true
> else return false
> }
> function setOwner(who,n) {
> var fr = parent.parent.frames[1]
> var doc = fr.document
> var field = doc.forms[0].elements[n]
> field.value=who
> }
> function ticTacToe(who,n1,n2,n3) {
> if(owns(who,n1) && owns(who,n2) && owns(who,n3)) {
> parent.parent.frames[3].focus()
> return true
> }
> return false
> }
> function isTicTacToe(who) {
> if(ticTacToe(who,0,1,2)) return true
> if(ticTacToe(who,3,4,5)) return true
> if(ticTacToe(who,6,7,8)) return true
> if(ticTacToe(who,0,3,6)) return true
> if(ticTacToe(who,1,4,7)) return true
> if(ticTacToe(who,2,5,8)) return true
> if(ticTacToe(who,0,4,8)) return true
> if(ticTacToe(who,2,4,6)) return true
> return false
> }
> function gameOver() {
> numMoves = 0
> for(i=0;i<9;++i) {
> if(!isBlank(i)) ++numMoves
> }
> if(numMoves==9) return true
> if(isTicTacToe("player")) return true
> if(isTicTacToe("computer")) return true
> return false
> }
> function computerMoves() {
> if(gameOver()) return -1
> var newMove = Math.round(9*Math.random())
> while(!isBlank(newMove)) {
> newMove = (newMove + 1) % 9
> }
> setOwner("computer",newMove)
> return newMove
> }
> function playerMoves() {
> if(!gameOver() && isBlank(cell)) {
> setOwner("player",cell)
> var move = computerMoves()
> location.href="o.htm"
> if(move!=-1) parent.frames[move].location.href="x.htm"
> }
> }
> function showWinner() {
> if(isTicTacToe("player")) alert("Congratulations! You win.")
> }
> function showLoser() {
> if(isTicTacToe("computer")) alert("Sorry. You Lose.")
> }
>
>
>
> ===== Original Message from [EMAIL PROTECTED] at 6/24/02 10:26 am
> >Is it possible to read the entire contents of one frame from
> within another
> >frame? Something like:
> > var txt = parent.otherFrame.document.innerHTML;
> >
> >I have my doubts as this would open a huge security hole, but I
> thought I'd
> >ask anyway.
> >
> >Dave Shelley
> >
> >________________________________________________________________________
> >TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> > with unsubscribe witango-talk in the message body
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> with unsubscribe witango-talk in the message body
________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
with unsubscribe witango-talk in the message body