你是对的,这可以用 PHP 或 JavaScript 来完成。
PHP 方法
在 PHP 中执行此操作的一种方法是为每个页面创建一个 $title 和 $url 变量:
<head>
<?php
$metaUrl = "http://stackoverflow.com";
$metaTitle = "MY PAGE";
?>
并在您的元标记和锚点中引用它们(请注意,我使用快速回显符号来回显 PHP 变量,这不适用于必须使用完整符号的旧 PHP 版本):
<meta property="url" content="<?=$metaUrl?>" />
<meta property="title" content="<?=$metaTitle?>" />
</head>
<body>
<a href="http://www.facebook.com/sharer/sharer.php?u=<?=$metaUrl?>&title=<?=$metaTitle?>">
<img src="images/logo/facebook.svg">
</a>
</body>
JavaScript 方法
通过 JavaScript 也有一种简单的方法。首先给你的锚点一个 ID,这样我们就可以在 DOM 中轻松找到它:
<a id="fb-sharer" href="http://www.facebook.com/sharer/sharer.php?u=[URL]&title=[TITLE]"><img src="images/logo/facebook.svg"></a>
现在在您的脚本中,通过 DOM 文档对象获取标题和 url:
var title = document.title;
var url = document.URL;
在 DOM 中找到你的锚点并使用变量设置 href 值:
var anchor = document.getElementById("fb-sharer");
var link = "http://www.facebook.com/sharer/sharer.php?u=" + url
+ "&title=" + title;
anchor.setAttribute("href", link);
您还可以使用 JavaScript 一次性编写整个元素,将其扔到您的锚点应该在的任何位置:
<script>
var title = document.title;
var url = document.URL;
document.write('<a id="fb-sharer"'
+ 'href="http://www.facebook.com/sharer/sharer.php?u="' + url
+ '&title=' + title
+ '><img src="images/logo/facebook.svg"></a>');
</script>