【问题标题】:PHP page name appending at the start of anchor link附加在锚链接开头的 PHP 页面名称
【发布时间】:2016-03-30 22:23:21
【问题描述】:

我目前正在处理home.php,我有以下锚链接:

<a href='#?id=$thought_id' class='toggle-comment' data-id='$thought_id' style='padding-left: 5px;'> Comments ($num_of_comments) </a>            

现在,当我将鼠标悬停在 Comments 锚点上时,我得到了 thought 的 id。只是当我将鼠标悬停在链接上时,或者当我点击链接时,网址显示为:

http://localhost/home.php#?id=210 

所以,210 是 cmets 锚分配到的思想的 ID,它有效。但我不明白为什么文件名在未定义的情况下会附加到锚链接。

即使我输入&lt;a href='#'&gt; URL 仍然是http://localhost/home.php#

【问题讨论】:

标签: php


【解决方案1】:

当您将鼠标悬停在链接上时,您的浏览器将向您显示完整的规范 URL(包括锚点)。如果您右键单击它并选择“复制链接位置”,它将与将复制到剪贴板的链接相同。

【讨论】:

  • 您能否在回答中解释一下什么是规范网址?您描述了它显示的内容,但没有解释原因。
  • 当您使用“复制链接位置”功能时,您需要的是链接的页面的完整URL(可能还有锚点位置)。因此,如果您在 http://www.example.com/index.html 上,那么即使 HTML 代码是 &lt;a href="#foo"&gt;,您想要复制到剪贴板的链接也是 http://www.example.com/index.html#foo。那是规范的 URL,这就是将被复制到剪贴板的内容。这也是状态栏上显示的内容。它没有必须那样,但所有主要的网络浏览器都认为这可能是一个非常好的主意。
  • 我不明白它如何解释为什么用户拥有链接 /home.php#?id=210 而不仅仅是 /#?id=210 ,抱歉。
  • 他正在服务器“localhost”上处理文件“home.php”并指向名为“#?id=210”的锚点。所以完整的 URL 是 http://localhost/home.php#?id=$thought_id 。如果他正在处理服务器的索引页(例如index.html),那么它将是http://localhost/index.html#?id=$thought_id。由于 index.html 是索引页面,因此可以缩短为 http://localhost/#?id=$thought_id
  • @DavidWhite - 抱歉回复晚了。我想我明白你在传达什么,但我无法理解一件事,我在profile_page.phphearted_thoughts.php 上有完全相同的锚链接(和连接代码)。这些页面上的锚链接有效,它们不会将当前页面 URL 附加到 href 中的内容,那么为什么这只发生在 home.php 上?
猜你喜欢
  • 1970-01-01
  • 2013-03-11
  • 2020-05-31
  • 2015-12-08
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 1970-01-01
相关资源
最近更新 更多