[View a Product Demonstration] をクリックすると、このページのビデオ プレーヤーの機能をミラーリングしようとしています。スクロールが無効になり、サイズが定義されている新しいウィンドウ (新しいタブではない) がポップアップ表示されます。私のポップアップにもこれがあることが重要です。ダイアログ ボックスが機能しません。
私が使用しているビデオは YouTube ビデオです。ページ上のリンクをクリックするだけで、ビデオのポップアップを作成できます。ただし、ポップアップ (画像 + テキスト) ウィンドウに他のコンテンツも表示できるようにする必要があります。
私はjQueryが初めてなので、これを達成するための最良のアプローチがわかりません。私が最初に考えたのは、すべてを非表示の div に配置し、要素をクリックするとそのコンテンツを新しいウィンドウに表示し、クリックすると jQuery で css を適用して適切に表示できるようにすることでした。
SO について調べたところ、このような作品が見つかりました。問題は、新しいウィンドウではなく新しいタブで開き、CSS が新しいタブで失われることです (これはインライン スタイルで修正できますが、理想的ではありませんが、問題はありません)。タブの代わりに新しいウィンドウにできればこれを使用できます。ここにフィドルの私のコードがあり、ここにそれがあります:
<script type="text/javascript">
function printClick() {
var w = window.open();
var html = $("#video-container").html();
$(w.document.body).html(html);
}
$(function() {
$("a#video-link").click(printClick);
});
</script>
その後:
<div id="product-description">
<a href="#" id="video-link">
<img src="cookware-product-demonstration-video.png" alt="View Product Demonstration Video" width="355" height="55" style="padding: 0px 0px 10px 0px;" border="0" />
</a>
</div>
<div id="video-container" style="display: none;>
<div id="video" style="width: 600px; position: relative; margin: 0px auto;">
<div id="video-header">
<img src="logo.gif" height="30" width="120" alt="Company Logo" style="float: left;"/>
<p style="float: right">Product Demonstration Video</p>
</div>
<iframe width="600" height="338" src="http://www.youtube.com/embed/yeuCLMppZzc?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
しかし、これは本当に最善のアプローチですか?これを行うためのより良い方法がなければならないと感じています。href に target="_blank" が追加されている投稿をいくつか見つけました ( example here ) が、URL を開いていないため、これまでのところうまくいきませんでした。
これを行う方法についてのヘルプやアドバイスをいただければ幸いです。どうもありがとう。