我遇到了问题。
我希望在facebook元标记中以类似的方式更改内容属性。 在其他线程中,我已经了解到,只要页面加载,就无法使用javascript或jquery属性更改元标记。
我的想法是将facebok like按钮放在iframe中。在这个框架中,我想定义自己的元标记。这个元标记是由php $ _GET变量操纵的,这些变量是通过操纵iframe内容的javascript发送的。
但它不起作用..
简单解释: [的index.php]
<html>
<head>
<title>RandomPage</title>
</head>
<body>
<iframe id="fb" src="fb.php">
<iframe>
<input type="submit" onclick="changelikebutton();" />
<script type="text/JavaScript">
function changelikebutton(){
document.getElementById('fb').src = 'fb.php?l=5';
}
<script>
</body>
<html>
[fb.php]
<html>
<head>
<meta property="og:image" content="RandomPage.com/<?php echo $_GET['l']; ?>.jpg" >
</head>
<body>
<facebook script code und id >
<div id="code für fb like button">
</body>
<html>
这不是原始代码,但它应该解释我的想法
答案 0 :(得分:1)
你走在正确的轨道上。只需为每个相似的按钮提供唯一的URL。 URL可以具有相同的域,但可以使用某些查询参数使其唯一。
<div class="fb-like" data-href="http://yourdomain.com/fb_meta.php?id=1" data-send="false" data-width="450" data-show-faces="true"></div>
当用户点击时,会为与该按钮关联的绝对URL生成类似内容。该协会通常在Facebook上生成一个故事。如果朋友决定点击该故事,他们将被重定向到相关的URL。这就是您的元标记页面将派上用场的地方。
为此,使用基本HTML创建一个fb_meta.php页面,并放入您需要的任何打开的图形标记。有关开放图表代码的更多信息,请参见here和here。您可以使用在网址上添加的查询参数(id)动态生成打开的图形代码的内容,以使其唯一。
简单地说,您可以使用$ _GET ['id']提取id,然后对您的数据库,数组或其他任何内容进行调用以获取元标记的内容。
将一个简单的javascript重定向放回到您的主站点或您喜欢的按钮所在的页面是个好主意,以便用户不会卡在空白页面上。在fb_meta.php文件的body标签中,输入:
<script>window.location = 'http://yourdomain.com';</script>
答案 1 :(得分:0)
我认为仅仅更改src属性是不够的。我认为你应该重新加载iframe内容。这是一个很好的解决方案:Dynamically change iframe's content