2012-07-20 58 views
2

我正在创建一个使用YouTube视频的网站,但我不想使用嵌入式播放器,我只想在IFRAME中添加一个YouTube网页。我阅读了You​​Tube的TOS,我不确定IFRAMES是否允许嵌入式播放器以外的其他用户使用,因此我认为我将构建网站以在新标签中打开链接。我真正想要的是能够在一个选项卡中打开新的链接。为了澄清,我的网站是标签1,一旦点击了链接,YouTube将在标签2中打开,在我的网站上点击的任何其他链接将替换标签2中的内容,并且不会超过2个标签。网站对新链接中打开的链接有多少控制?

+0

您可以通过将第二个窗口视为弹出窗口来完成此操作。有些用户可能会选择在新标签中打开弹出窗口,但不能保证 - 这取决于用户和浏览器。当您打开它并在随后的调用中使用相同的名称时,可以通过为其提供一个名称来重新使用弹出窗口/选项卡。这些都不会阻止用户右键单击链接并选择“在新选项卡中打开”... – Basic 2012-07-20 12:49:31

回答

2

YouTube和其他一些高知名度的网站上屏蔽出于安全考虑,使用iframe的。所以如果你使用了一个iFrame,它只会加载空白。

要打开链接到一个新的标签,你可以使用:

<a href="/example.html" target="_blank">Open me!</a> 

我不完全相信你可以控制哪些选项卡,然后用进一步的内容替换。

我的建议是这样做:

1)创建链接与嵌入其中的视频的网页,与目标=“_空白”。 2)当用户点击链接时,用Javascript(也许是jQuery)捕捉它,并在Shadowbox(http://www.shadowbox-js.com/)等某种模态覆盖内打开它的内容。

通过这种方式,为用户停留在同一窗口内,而不需要在所有的iFrame或新选项卡。如果用户禁用了JS,他们会得到一个默认的“新标签”行为。

祝你好运。

+0

嗨,感谢您的信息,但我不能完全可以根据我的目的使用嵌入式视频。 – user1166981 2012-07-20 12:22:53

+1

更改此链接,而不是“_blank”的目标,请使用名称。如果它不是当前页面上存在的框架(不应该是 - 避免框架),它将打开一个新窗口并为其提供您选择的标签。任何具有相同目标的链接都将在新窗口中打开。 Chrome浏览器有一个怪癖,那就是如果新页面生成相同的进程(也就是说如果页面A打开窗口B,然后页面A在新窗口/其他位置关闭/打开并且链接是接下来,将创建第三个窗口C,而不是重复使用B) – Basic 2012-07-20 12:53:19

+0

当点击的链接稍有不同时,它会起作用吗?它们是具有不同视频ID的youtube URLS,但域是相同的? (当你说“新窗口”,你是在谈论一个弹出窗口或新标签)?上面的Ashwin Singh争辩说,如果我理解正确,如果他们不是相同的域,你不能重复使用相同的标签,我认为 – user1166981 2012-07-20 12:56:16

0

我不认为你控制,你想很容易的东西,如果你能找到这个钩子,它最有可能是不跨浏览器。我愿意提供更好的建议,但我认为您可以使用javascript window.open(URL, windowName[, windowFeatures]),并且每次调用它时都使用相同的名称。然后它将取代以前的窗口。它不会在另一个选项卡中打开,而是在弹出窗口中打开。

+0

嗨,谢谢,但我想使用除弹出窗口以外的选项卡 – user1166981 2012-07-20 12:23:39

0

你无法控制的另一个标签一个网页,你也不能限制没有。出于明显的安全原因,浏览器可以打开标签页。限制不。可以在没有用户干预的情况下打开或控制的选项卡一定会被视为黑客攻击,但弓箭手不允许这样做。

+0

对不起,您答疑错误。结帐http://www.efnsports.com,点击论坛,它正是我想要做的。如果您不能100%确定,请避免在将来使用“绝对”等字样! – user1166981 2012-07-20 12:39:06

+0

首先,你应该提到你的意思只是你的网站标签应该限制为两个。我误解了这一点。其次,我没有看到控制论坛页面的父页面。 – 2012-07-20 12:41:25

+0

就限制两个窗口而言,你可以使用My web page,我不确定你将如何控制第二页表单父页面,如果它们不是来自同一个域。如果允许,则不需要进行网络钓鱼。就我的发言而言,我的立场是正确的。 – 2012-07-20 12:50:39