我从服务器获取数据,以便在客户端上动态创建视频库。这些数据包含与元数据相关的信息,例如贡献者等。
我的网页中有dublin核心数据的标准片段,如
<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" />
我该如何解决这个问题?
在网页上动态处理多媒体元数据的最佳做法是什么?
由于
答案 0 :(得分:0)
我对JS和stackoverflow也很新。不知道这是否会对你有所帮助,但你有没有尝试过以下几个?
<强>实施例。 1 强>
拥有您的元标记的ID - 已选中
<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").attr("content","yourlink"); $("#metadesv").attr("content","Coolest video"); $("#videdcreator").attr("content","Chuck Norris"); }
这对你有什么帮助吗?
答案 1 :(得分:0)
这是我的错误,因为首先,元数据不支持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);
}
您可以通过在浏览器上执行“检查元素”来查看更改
点击此Greek forum
上的名为“geomagas”的用户答案 2 :(得分:0)
使用php并执行类似
的操作<meta name="DC.Creator" id="videdcreator" content="<?echo $arrayvid["vidcreator"][i];?>"/>