我想使用(最好)PHP 或 JavaScript 获取 URL。该页面是使用锚名称(例如index.php#aboutme
)打开的。当我使用
$host = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$params = $_SERVER['QUERY_STRING'];
它最后http://afterimagedesign.tk/index.php
没有返回#home
。我怎样才能得到这个?
我想使用(最好)PHP 或 JavaScript 获取 URL。该页面是使用锚名称(例如index.php#aboutme
)打开的。当我使用
$host = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$params = $_SERVER['QUERY_STRING'];
它最后http://afterimagedesign.tk/index.php
没有返回#home
。我怎样才能得到这个?
PHP 永远无法获得这个标签(这就是它的名称),因为浏览器永远不会以任何形式将它发送到服务器。
JavaScript 可以使用 访问它window.location.hash
,但那是客户端的。
<?
echo parse_url("http://localhost/index.php#aboutme",PHP_URL_FRAGMENT);
?>
输出:关于我
或与 JS
window.location.hash
使用 PHP 访问这些数据的唯一方法是在页面加载时通过 AJAX 调用将其发送到 PHP。正如其他回复所说,主题标签永远不会在原始请求中发送到 PHP。所以你必须在之后发送它。
如果这是您需要的信息,您将不得不将您的应用程序更改为不使用主题标签,而是将此数据附加到查询字符串(即 index.php?home 而不是 index.php#home 并使用 javascript 手动滚动页面时)基于此加载。