我正在尝试存储一个网址,例如:
<强> http://localhost/pro_print/index.php#page=home
在变量中,但我找不到执行此操作的函数。我找到了很多存储 index.php 的解决方案,但它不包括井号及其后面的内容。有 PHP 解决方案吗?
我确实看到我可以使用 document.write(document.url)
或 document.write(location.href)
使用 javaScript 获取包含哈希标记的完整 url,但是如何将其存储到我的变量中?有什么办法可以将 PHP 与 javaScript 结合起来,形成这样的解决方案吗?
<?php $url ="?><script>document.write(document.url)</script><?php "?>
最佳答案
片段标识符(# 及其后出现的所有内容)完全由客户端处理,并且在请求 URI 时不会发送到服务器。
要使其可供 PHP 使用,您必须:
- 允许页面加载
- 使用 JavaScript 读取位置
- 使用 Ajax 技术(例如 XMLHttpRequest)或在后续请求中将其发送到服务器
这不会使其在原始脚本运行时可供服务器使用,但其他任何方法都不能。
另一种方法是将片段标识符中的信息复制到 URI 中的其他位置(例如查询字符串)。本网站在提交答案时使用此信息。
关于php - 如何在变量中存储包含哈希标记的完整 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1660450/