Динамическая обработка метаданных
Я получаю данные с сервера для динамического создания видеогалереи на клиенте. Эти данные содержат информацию, связанную с метаданными, например, вкладчик и т. Д.
У меня есть стандартный фрагмент для основных данных дублина на моей веб-странице, как
<meta name="DC.Source" id="videdsource" />
<meta name="DC.Description" id="metadesv" />
<meta name="DC.Creator" id="videdcreator" />
<meta name="DC.Contributor" id="videdcontr" />
//and so on, for all the dublin core elements...
Каждый раз, когда пользователи выбирают другое видео, я хочу динамически изменять значения метаданных, используя такой код, как
document.getElementById("videdcreator").content=arrayvid[i];
Это не работает. Потому что, если я загружаю веб-страницу и смотрю на исходный код, стандартные дублирующие базовые элементы имеют значение, например
<meta name="DC.Rights" content="Copyright 2014" />
но элементы, которые я хочу изменить динамически, не имеют значений, как
<meta name="DC.Contributor" id="videdcontr" />
Как это исправить?
Как лучше всего динамически обрабатывать мультимедийные метаданные на веб-странице?
Спасибо
3 ответа
Это была моя ошибка, потому что, прежде всего, метаданные не поддерживают id
,
Но у них есть имя. Итак, в чистом JS я могу сделать getElementsByName
а потом setAttribute
Так что код
//html part
<meta name="DC.Creator"/>
<button id="change" type="button">change it</button>
//javascript part
document.getElementById('change').onclick=myfunc;
var ha="ha";
function myfunc()
{
document.getElementsByName("DC.Creator")[0].setAttribute("content",ha);
}
Вы можете увидеть свои изменения, выполнив команду "проверить элемент" в своем браузере.
Кредиты отправляются пользователю с именем "geomagas" на этом греческом форуме
Используйте php и сделайте что-то вроде
<meta name="DC.Creator" id="videdcreator" content="<?echo $arrayvid["vidcreator"][i];?>"/>
Я довольно новичок в JS, а также в stackru. Не знаю, поможет ли это вам, но пробовали ли вы следующее?
Ex. 1
Есть идентификаторы для ваших метатегов - проверено
<meta name="DC.Source" id="videdsource" /> <meta name="DC.Description" id="metadesv" /> <meta name="DC.Creator" id="videdcreator" />
- Триггер
object.onclick=changeTags();
Функция JS
function changeTags(){ $("# Videdsource") атр ("содержание","yourlink"). $("#metadesv").attr("content","Самое классное видео"); $("#videdcreator").attr("content","Chuck Norris"); }
Это тебе как-нибудь помогает?