动态处理元数据

时间:2014-05-30 18:25:03

标签: metadata dublin-core

我从服务器获取数据,以便在客户端上动态创建视频库。这些数据包含与元数据相关的信息,例如贡献者等。

我的网页中有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" />

我该如何解决这个问题?

在网页上动态处理多媒体元数据的最佳做法是什么?

由于

3 个答案:

答案 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];?>"/>