Самый простой способ сделать это - использовать хеш-тег. Вы можете использовать ?
, но это сложнее реализовать. Поэтому вместо index.html?content=b
используйте index.html#b
, а затем вы можете сослаться на это, используя window.location.hash.substring(1)
, что даст вам b
в вашем сценарии. Затем вы можете использовать оператор if, чтобы проверить это значение и соответствующим образом изменить содержимое.
В качестве альтернативы, если вам нужно для использования ?
, тогда вы можете использовать это window.location.href.split('?')[1].split('content=')[1]
, но оно не гарантированно будет работать в любой ситуации, особенно если у вас там более одной переменной. Для нескольких переменных вы бы использовали
window.location.href.split('?')[1].split('&')[0].split('content=')[1]
Ваш полный код теперь будет выглядеть так:
$(function () {
var youtube_code, vimeo_code, content_value;
youtube_code = "The code for Youtube goes here";
vimeo_code = "The code for Vimeo goes here";
content_value = (typeof window.location.href.split('player=')[1] !== "undefined") ? window.location.href.split('player=')[1] : "";
if (content_value === "youtube") {
$('#video-player').html(youtube_code);
} else {
$('#video-player').html(vimeo_code);
}
});
Вы также можете использовать некоторые else if
s, если вам нужны дополнительные параметры контента. Используйте одну из двух верхних строк в зависимости от того, какой вариант вы выбрали.
EDIT : изменен код на полный код (и немного оптимизирован). Вам не нужно ничего добавлять к этому, кроме изменения youtube_code
и vimeo_code
на правильные значения.
РЕДАКТИРОВАТЬ : оптимизирован и заставил его проверить, действительно ли в URL есть player=
.