【发布时间】:2012-06-05 02:37:04
【问题描述】:
我正在使用 php 制作一些网页,但我在尝试制作链接时遇到了一些困难。
基本上,我将我的<a> 设置为 target="_self",以便它保持在同一页面上。 (注意页面是一个新窗口,我也尝试使用“_top”和“_parent”)
<a href="http://ordi-003/inclusion/fiche.dos.assorti.info.php?id=<?php echo $donnees[0]['NoIdentDosAssorti'] ?>&lan=<?php echo $_SESSION['lan'] ?>" target="_self"><img src="<?php echo $donnees[0]['id2_pathImgMini'] ?>" width="75" height="75" /></a>
这是 php 形式的链接。
<a href="http://ordi-003/inclusion/fiche.dos.assorti.info.php?id=14&lan=fr" target="_self"><img src="../images/propriete/DosAssorti/mini/L482_mini.jpg" width="75" height="75" /></a>
这是显示源代码时向浏览器编码的结果。(跨 IE、Firefox、Chrome)
<a target="_blank" href="http://ordi-003/inclusion/fiche.dos.assorti.info.php?id=14&lan=fr">
根据 Firebug 和 Chrome 开发工具,这是同一行。
单击链接时,预期结果是在同一页面上打开链接,但它会在新窗口中打开它。将 firebug 内部的“_blank”更改为“_self”,然后单击链接会产生良好的效果并在同一页面上打开链接。
我做错了吗?我在这里错误地使用了<a> 吗?
我应该寻找另一种方法来建立我的链接吗?我对任何事情都很开放,我尝试了不同的事情,在谷歌上看了很多,但找不到有同样问题的人。 Firefox 缓存已停用,所以这不应该是问题。在另一台电脑上也试过,结果是一样的。
如果我提供的信息太短,请告诉我还应该包括什么,因为我是堆栈溢出的新手。
编辑:我忘了说,如果我删除目标参数并且不添加任何内容,“源代码页”不会显示任何应有的内容,但在 firefug 和 chrome 开发工具中它会显示 target="_blank"仍然。另外请注意,此文件只有 1 个副本,它位于运行本地站点的机器的本地主机上。我正在直接编辑该文件。
Edit2:http://pastebin.com/yrAMQEL9 请注意,出于某种原因,pastebin 上的缩进很糟糕。
【问题讨论】:
-
如果您希望链接在同一个窗口中加载,为什么还要使用
target?但是,您的错误听起来像是某些东西(可能是服务器端脚本?)正在修改您的 HTML,或者服务器上某处缓存了旧版本(或两台机器都在使用的代理)发送给您。 -
我感觉你在看两个完全不同的链接...
-
你能发个链接吗?例如示例网页,jsFiddle...
-
@ThiefMaster 好吧,我知道目标默认是 _self 但由于它是在新窗口中打开的,所以我试图强制它。服务器上禁用了 Firefox 缓存,我不知道其他缓存可能会导致这种情况。不涉及代理。
-
@stevether 这是唯一链接到那个 .php 的链接,所以不可能是那个 =/