0

我有问题。

我想动态地更改 facebook 元标记中的内容属性以获取点赞按钮。在其他线程中,我了解到,一旦加载页面,就不可能使用 javascript 或 jquery 属性更改元标记。

我的想法是将 Facebook 之类的按钮放在 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>

这不是原始代码,但它应该解释我的想法

4

2 回答 2

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 页面,并放入您需要的任何打开的图形标签。可以在此处此处找到有关开放图形标签的更多信息。您可以使用附加到 URL 上的查询参数 (id) 动态生成开放图形标签的内容,以使其独一无二。

简单地说,您可以使用 $_GET['id'] 提取 id,然后调用您的数据库、数组或其他任何东西来获取元标记的内容。

最好将一个简单的 javascript 重定向回您的主站点或您喜欢按钮所在的页面,这样用户就不会卡在空白页面上。在 fb_meta.php 文件的正文标签中,输入:

<script>window.location = 'http://yourdomain.com';</script>
于 2013-01-16T08:54:03.530 回答
0

我相信仅仅改变 src 属性是不够的。我认为您应该重新加载 iframe 内容。这是一个很好的解决方案:动态更改 iframe 的内容

于 2013-01-16T10:25:28.247 回答