这通常正常
<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);
});
答案 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;