如何在变量中存储包含哈希标记的完整URL?

时间:2009-11-02 10:22:51

标签: php javascript url variables

我正在尝试存储以下网址:

http://localhost/pro_print/index.php#page=home

在变量中,但我找不到那样做的函数。我找到了很多存储index.php的解决方案,但是它没有包含hashmark以及它后面的内容。是否有PHP解决方案?

我确实看到我可以使用document.write(document.url)document.write(location.href)获取包含带有javaScript的hashmark的完整URL,但是如何将其存储到我的变量中?有没有什么方法可以将PHP与javaScript结合起来在某种类似的解决方案中使用?

<?php $url ="?><script>document.write(document.url)</script><?php "?>

1 个答案:

答案 0 :(得分:3)

片段标识符(#及其后面出现的所有内容)完全由客户端处理,并且在请求URI时不会发送到服务器。

要使PHP可用,您必须:

  1. 允许页面加载
  2. 使用JavaScript阅读位置
  3. 使用Ajax技术(例如XMLHttpRequest)或后续请求将其发送到服务器
  4. 这不会使原始脚本运行时服务器可用,但没有别的可以。

    另一种方法是将片段标识符中的信息复制到URI中的其他位置(例如查询字符串)。提交答案时,本网站会使用此功能。