html - 带有参数的href链接到不同页面中的书签
问题描述
我在我的网站上从一个页面链接到另一个页面。链接是这样的: -
https://example.com/cgi-bin/dashboard/product_catalogue.pl?action=search_by_category&category=kitchen
在下面的脚本中,我的页面部分有这样的书签 id
<p id='12345'>text in here</p>
我似乎无法确定将书签触发器放在 href 中的哪个位置。
我努力了:
https://example.com/cgi-bin/dashboard/product_catalogue.pl?action=search_by_category&category=kitchen#12345
https://example.com/cgi-bin/dashboard/product_catalogue.pl#12345?action=search_by_category&category=kitchen#12345
甚至重组了整个链接:
https://example.com/cgi-bin/dashboard/product_catalogue.pl#12345/search_by_category/kitchen
没有工作。
#12345 似乎断开了超链接的其余部分,因此生成下一页的脚本不会接收到参数。
[我正在努力实现的目标]
在包含服务器生成页面的仪表板中,我有一个产品目录。例如https://example.com/dashboard/product_catalogue?search_type=search_by_category&category=kitchen
这列出了该类别中的项目 在特定项目(该项目的照片)上,我单击以转到显示该项目的所有图像的服务器生成的页面。(允许版本/上传等)“返回”按钮,它是 product_catalogue.pl 脚本的一个 href,可以工作,我想添加一个书签,所以当我们进入产品目录时,它会跳转到相同的列表/我们在去图像页面之前最后到达的地方。我希望这是有道理的。
[/结尾]
解决方案
URI 中元素的顺序是:
- 协议 (https)
- 主机(example.com)
- 路径(/cgi-bin/dashboard/product_catalogue.pl
- 查询 (?action=search_by_category&category=kitchen)
- 片段 (#12345)
所以你的第一个例子是正确的:
https://example.com/cgi-bin/dashboard/product_catalogue.pl?action=search_by_category&category=kitchen#12345
你说:
#12345 似乎断开了超链接的其余部分,因此生成下一页的脚本不会接收到参数。
这是正确的。片段处理全部在客户端完成。服务器根本不需要知道片段。我很确定浏览器不会将其发送到服务器。
事件的顺序是这样的:
- 您点击包含片段的链接
- 浏览器删除片段并将剩余的地址发送到服务器
- 服务器返回一些 HTML
- 浏览器显示页面,定位使得片段中给定 id 的元素尽可能靠近窗口顶部
如果您希望该片段可用于服务器端进程,那么恐怕您不走运。这不是它的工作原理。
但是,如果您解释了您实际想要实现的目标,那么我确信这里的某个人将能够帮助您。
推荐阅读
- angular - Angular 使用 ngbdatepicker 抛出 RangerError:超出最大调用堆栈大小
- javascript - 我可以以无服务器方式使用 sql.js 吗?
- android - 从应用程序开发人员的角度来看,当我根我的 Android 手机时会发生什么?
- html - 我怎样才能在css中制作这个网格?
- r - 如何使用 ggplot2 设置单独的误差线颜色?
- javascript - 如何从 html 页面调用在 javascript 模块 (type=module) 中声明的函数
- python - 气流:将 BashOperartor 作为字符串返回,用于 odbc 连接
- java - 根据具有 @joinColumn 注释的列上的 where 条件在休眠中选择查询
- javascript - 带有ajax响应表单php的尾随html
- jsp - tld 文件无效,但其文件名