我试图在单击查看产品演示时镜像video player on this page的功能。它会弹出一个新窗口(不是新选项卡),其中禁用滚动并定义大小。我的弹出窗口也有这个很重要。对话框将不起作用。将隐藏div显示为新窗口中的内容
我使用的视频是YouTube视频;我可以通过单击页面上的链接自行弹出视频。但是,我还需要能够在弹出窗口(图像+文本)中显示其他内容。
我是jQuery的新手,所以我不知道实现这个目标的最佳方法。我的第一个想法是,我可以把所有东西都放在一个隐藏的div中,然后在点击一个元素时在一个新窗口中显示这些内容,点击时将jss应用于jQuery,使其正确显示。
经过对SO的研究,我找到了this,这是哪类作品。问题是它打开一个新的选项卡,而不是一个新的窗口,并且CSS在新选项卡中丢失(我可以使用内联样式修复,这并不理想,但我可以忍受它)。我可以使用这个,如果我可以使它成为一个新窗口而不是标签。 Here is my code in a fiddle这里是下面:
<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>
但是,事实真的是最好的方法?我觉得必须有更好的方式来做到这一点。我发现了几个帖子,其中target =“_ blank”被添加到href(example here),但由于我没有打开一个URL,所以迄今为止还没有为我工作。
任何帮助或建议如何做到这一点表示赞赏。非常感谢。
就个人而言,我不能忍受的弹出窗口。我发现它们非常烦人,特别是当我打开多个窗口时。我的建议是使用['jQueryUI的对话框](http://jqueryui.com/dialog/#default)并给出一个弹出的错觉。如果您需要更多信息,请告诉我。 – Dom 2013-03-12 19:43:59
我同意你的100% - 宁愿在对话或模式中这样做。我的任务是“尽可能地保持一致的网站体验”......对话框或模式不会将浏览器栏放在顶部。 :\ – surfbird0713 2013-03-12 19:47:04
我明白了....嗯,好吧,我会回来给你一个答案! – Dom 2013-03-12 19:49:18