iframe内のスクリプトを親から3つ実行する記述
iframe内のスクリプトを親から3つ実行したいのです.
親フレームのイベントハンドラ input とonclick="()" を利用して1回のクリックで
1)iframe内のHTMLを変更し (iframe00.htmlからiframe01.htmlへ)
2)iframe内のflvファイルを開始し(iframe01.htm内のflaverを実行しa.flvを開始したい)
3)iframe内の画像を変更したい(iframe01.htmlでは同一table内で a.gifを,iframe02ではb.gifを表示)
現在までで出来ているのは以下のところまでで,上記1)と3)はできるのですが,
2)は下記のごとく,onmouseoverとonclickを使用しないと,flvが開始されません.
changeA1のdocument・・・を changeA2の中に入れても,iframeのHTMLと画像は
変わりますが,動画が開始されません.
私の実力では,希望している動作が可能か否かも解りません.
可能か否か,可能であればどのように記述すればよいかご教示いただければ幸いです.
1.親htmlのスクリプト,iframeの記述,およびイベントハンドラー
<script type="text/javascript">
<!--
function changeA1(){document.win01.location.href="iframe01.html" ;}
function changeA2(text01,file01,image01){
var text02=text01;
var file02=file01;
var image02=image01;
document.getElementById('win01').contentWindow.play01(text02,file02,image02); }
function changeB1(){document.win01.location.href="iframe02.html" ;}
function changeB2(text01,file01,image01){
var text02=text01;
var file02=file01;
var image02=image01;
document.getElementById('win01').contentWindow.play01(text02,file02,image02); }
//-->
<iframe src="iframe00.html id="win01"></iframe>
<input type="button" value="I" onmouseover="changeA1()" onclick="changeA2('あ', a.flv','a.gif') />
<input type="button" value="II" onmouseover="changeB1()" onclick="changeB2('い', b.flv','b.gif') />
2. iframe01.html のスクリプト
<script type="text/javascript">
<!--
function play01(text00,file00,image00){
var flaver = '../../flaver3/flaver.swf';
var html01 = '';
var html02 = '';
html01 += '<font style="font-weight:bold; font-size:15px">' + text00 + '</font>';
html01 += '<object data="' + flaver + '" type="application/x-shockwave-flash" width="400" height="300">';
html01 += '<param name="movie" value="' + flaver + '" />';
html01 += '<param name="FlashVars" value="file=' + file00 + '" />';
html01 += '<param name="wmode" value="transparent" />';
html01 += '<param name="allowFullScreen" value="true" />';
html01 += '</object>';
document.getElementById('flv01').innerHTML = html01;
html02 += '<img src="'+ image00 + '" border="0" width="360" height="270" />';
}
//-->
お礼
回答有難う御座います! 前者のやり方で思うような結果がでました!