iframe src через хэш-значение

#jquery #iframe

#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:

Использовать $(document).ready() в отличие от $(window).load()

Хотя это совершенно отдельная проблема от заданного вами вопроса, причина, по которой он не работает должным образом, заключается в том, что вы назначаете идентификатор видео, к location.hash которому добавляется a # перед переменной. ИТАК, строка, которую вы на самом деле получаете обратно, является:

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

Если вы хотите решить эту проблему, вам нужно удалить # из строки:

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

Вот jsFiddle