Javascript 使用JS/JQuery单击/共享时更改元描述?

Javascript 使用JS/JQuery单击/共享时更改元描述?,javascript,jquery,dynamic,meta,Javascript,Jquery,Dynamic,Meta,我有一个包含各种元素的页面,如下所示: 产品标题1 产品形象1 产品说明1 共享1链接 产品标题2 产品形象2 产品说明2 共享2链接 产品标题3 产品形象3 产品说明3 共享3链接 我希望这样,当用户想要共享该产品时,OG元元素会根据用户共享的内容进行更改。因此,例如,页面可能会为您提供一些产品的元描述,但当用户共享产品2时,该描述将更改为产品2的描述。与图片/标题/等相同 我有下面的概念证明,我已经在这里把其他线程放在一起,但它不起作用。好吧,标题部分改变了,但是元数据没有 这里最大的挑战是

我有一个包含各种元素的页面,如下所示:

产品标题1 产品形象1 产品说明1 共享1链接

产品标题2

产品形象2 产品说明2 共享2链接

产品标题3

产品形象3 产品说明3 共享3链接 我希望这样,当用户想要共享该产品时,OG元元素会根据用户共享的内容进行更改。因此,例如,页面可能会为您提供一些产品的元描述,但当用户共享产品2时,该描述将更改为产品2的描述。与图片/标题/等相同

我有下面的概念证明,我已经在这里把其他线程放在一起,但它不起作用。好吧,标题部分改变了,但是元数据没有

这里最大的挑战是,需要用HTML和JS/Jquery来完成这项工作——没有PHP,没有ASP,等等

<!DOCTYPE html>

<head>
<title>This title is not exciting</title>
<meta id="mtdesc" name="description" content="" />
<meta property="og:title" content=""/>
<meta property="og:image" content=""/>
<meta property="og:site_name" content=""/>
<meta property="og:description" content=""/>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.2.js'></script>
</head>

<body>
<button>Change description</button>
<script type='text/javascript'>
$('button').on('click', function() {
    // Just replacing the value of the 'content' attribute will not work.
    $('meta[property="og:title"]').remove();
    $('meta[property="og:description"]').remove();
    $('meta[property="og:url"]').remove();
    $("head").append('<meta property="og:title" content="blubb1">');
    $("head").append('<meta property="og:description" content="blubb2">');
    $("head").append('<meta property="og:url" content="blubb3">');
    $("#mtdesc").attr("content","music all the time");
    $(document.title = "Now I've changed it");  
});

</script>
</body>
你说仅仅替换“content”属性的值是行不通的。。为什么?

以下是一个例子-

$('button').click(function() {    
    $('meta[property="og:title"]').attr('content', 'foo');
});

我已经将meta标记的content属性设置为foo。无需删除和追加。

代码中的注释实际上来自编写此示例的人员。我一定是做错了什么,因为当我查看源代码时,元数据没有改变-有没有办法让我测试它,这样我就可以看到交付了什么元数据?也许从浏览器查看源不是正确的方式。查看源不是正确的方式,因为源是从服务器到浏览器的内容。要查看更改,必须在浏览器的开发人员工具中使用DOM检查器。如果您从未见过这些,只需在浏览器有焦点时单击F12即可。