iframe src通过哈希值

时间:2014-06-21 16:52:48

标签: jquery iframe

这通常正常

<iframe class="iframe169" id="play323" src="//www.youtube.com/embed/PTWx4FpIdys?rel=0"></iframe>

为什么这不起作用

<iframe class="iframe169" id="play323" src=""></iframe>

JS

$(window).load(function() {
location.hash = "PTWx4FpIdys";
var a = location.hash;
var b = "//www.youtube.com/embed/" + a + "?rel=0";
$('#play323').attr("src", b);
});

1 个答案:

答案 0 :(得分:2)

使用$(document).ready()而不是$(window).load()

虽然这与您提出的问题完全不同,但是它无法正常工作的原因是您将视频ID分配给location.hash预先添加在变量前面#。你实际得到的字符串是:

//www.youtube.com/embed/#PTWx4FpIdys

如果要解决此问题,则需要从字符串中删除#

location.hash = "PTWx4FpIdys";
var a = location.hash.replace('#', '');
var b = "//www.youtube.com/embed/" + a;

Here's the jsFiddle