首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript动态更改元数据/元标记

Javascript动态更改元数据/元标记
EN

Stack Overflow用户
提问于 2012-02-11 01:12:24
回答 5查看 24.2K关注 0票数 4

我将描述我试图实现的目标,如果我的方法看起来很愚蠢,请随时让我知道:

我有一个页面与视频画廊和flash视频播放器iframe。当用户单击视频缩略图时,它开始在帧中播放。

用户还可以通过将文件路径附加到url - blabla.com/videogallery?videofilepath的末尾,转到加载到iframe中的特定视频的页面。我设置了这个,这样视频就可以很容易地被分享。

我希望能够为facebook/twitter添加共享按钮,但我无法让它们正常工作,并使用正确的元数据(图像和标题)正确地显示它们自己。

所以我想把分享按钮也放在播放器iframe中,然后在视频发生变化时动态更新元数据标签,但不确定如何进行。

任何帮助都将不胜感激,谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-11 01:27:03

您想在jQuery的代码中这样做吗?

代码语言:javascript
复制
$(document).ready(function(){
    $('title').text("Your new title tag here");
    $('meta[name=description]').attr('content', 'new Meta Description here');
});
票数 11
EN

Stack Overflow用户

发布于 2016-07-16 19:33:31

由于上面两个解决方案都使用了JQuery,这里有一个纯javascript的解决方案,以防万一任何人正在寻找:

要更改标题,请执行以下操作:

代码语言:javascript
复制
<script>document.title = "this is title text";</script>

要更改任何元标记,请执行以下操作:

代码语言:javascript
复制
<meta name="description" content="this is old content which we are going to change through javascript">

更改上述元标记的javascript代码。

代码语言:javascript
复制
<script>
var allMetaElements = document.getElementsByTagName('meta');
//loop through and find the element you want
for (var i=0; i<allMetaElements.length; i++) { 
  if (allMetaElements[i].getAttribute("name") == "Description") { 
     //make necessary changes
     allMetaElements[i].setAttribute('content', "description you want to include"); 
     //no need to continue loop after making changes.
     break;
  } 
} 

祝好运。

票数 8
EN

Stack Overflow用户

发布于 2019-06-12 09:37:17

用纯javascript编写的简写答案。

代码语言:javascript
复制
document
      .getElementsByTagName('meta')
      .namedItem('description')
      .setAttribute('content','My Meta Description Here')
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9231845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档