• 締切済み

JavaScriptについて

<div id="hoge" style="border:1px solid;"></div> <script type="text/javascript"> //ウィンドウサイズの取得 getWindowSize(); // リサイズイベントの設定 window.onresize = getWindowSize; //ウィンドウサイズを取得する function getWindowSize() { ZZZ = window.innerWidth; AAA = ZZZ * 0.98; BBB = (ZZZ * 0.98) * 0.5625; document.getElementById("hoge").style.width = AAA + "px"; document.getElementById("hoge").style.height = BBB + "px"; } </script> 上記のようにブラウザのサイズが変更されたら<DIV>のサイズも変更するようなスクリプトですが、 別のJavaScriptで<div id="hoge" >の中に埋め込み型のプレイヤーを表示しています。 この時にブラウザのサイズを変更してもプレイヤーのサイズが変更されません。 ブラウザのサイズを変更 → 更新ボタンを押すとプレイヤーのサイズも変更されます。 例えば、リサイズされたら最初から読み直す(更新ボタンと同じ動作)にする場合はどうしたら良いでしょうか?

みんなの回答

回答No.2

> 最初から読み直す(更新ボタンと同じ動作) location.reload( ); // キャシュ から リロード. location.reload(true); // サーバ から リロード. 「更新ボタンと同じ動作」は「location.reload(true);」の方だと思います。 ただし、ブラウザによっては変数も初期化されてしまう場合もあると思われ、変数が初期化されて困る場合はパラメータを付けて自分自身をリロードするようにしてやれば良いと思います。 パラメータを付けて"自分自身"をリロードしたい場合は、まず"自分自身"(の名前)を取得する必要があります(下記参照)。 《参考》 http://raining.bear-life.com/javascript/location%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7url%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B SelfHref = location.href; ただし、これだとパラメータ、ラベルまで入ってるので、(indexOf で「?、#」の位置を取得し、substring で文字列を修正して)そのパラメータ、ラベルを取り除いてから、新たに必要なパラメータを付加しやります、それを「NewSelfHref」とすれば下記のようにリロードする事ができます(つまり それは自分以外でもリロード可能と言う事になります)。 location.reload(NewSelfHref);

  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.1

埋め込み型プレイヤーがどのようなHTMLで書かれているか分からないと回答のしようが無いと思います。

dyo
質問者

補足

回答ありがとうございます。 flowplayerというプレイヤーで下記のように記述しています。 <div id="hoge">に表示する。 flowplayer( 'hoge', '../flowplayer-3.1.4.swf', { clip: { url:' ../動画名.mp4', autoPlay: false, autoBuffering: false, scaling: 'fit' }, canvas: { backgroundColor: '#000000', backgroundGradient: 'none' } } );

関連するQ&A

専門家に質問してみよう