我正在尝试在帧标记中编写javascript代码。但它并没有排除我的javascript代码块。
我这样做的方式是:
<HTML>
<HEAD>
<TITLE>My HomePage</TITLE>
</HEAD>
<FRAMESET id="frameset1" rows="0,100%,0,0,0" frameborder=0>
<FRAME NAME="seat" SRC="seat/seat.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE>
<FRAME id="main" NAME="main" SRC="main.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE>
<script type='text/javascript'>
var myVar=1;
</script>
</FRAME>
<FRAME id="seatinfo" NAME="seatinfo" SRC="seatapi/seatinfo/seat_state.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE>
<FRAME id="blank" NAME="blank" SRC="blank.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE>
<FRAME id="preloadHelp" NAME="preloadHelp" SRC="preloadHelp.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE>
当我在firebug中检查top.main.myVar时,它会显示undefined。
答案 0 :(得分:0)
要回答您的问题,请查看对document.frames(或parent.frame
的javascript调用,以便在框架内工作)。
那说框架是不好的做法,恕我直言。我强烈建议你不要使用它们。
答案 1 :(得分:0)
您可以在目标框架中评估代码,而不是直接在框架代码中放置代码,例如下一步
<FRAME id="main" NAME="main" SRC="main.html" frameborder="no" border=0 MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" FRAMEBORDER="no" NORESIZE></FRAME>
<script type='text/javascript'>
window.frames.main.setTimeout(function(){
// this code will run in the frame
window.myVar=1;
},1);
</script>
在这种情况下,myVar将在目标文档中可用。