snllll 发表于 2010-4-11 20:00:47

锚点与参数的矛盾

是这样的,我现在用 http://server/tag/标签 来取得所有添加了“标签”这个tag的数据。
但是 在这个页面可能有文章,可能有图片,我就加了两个锚点链接:
<a name="art" id="art"></a>    文章的锚点
<a name="img" id="img"></a>图片的锚点

模板大概这样:
——————————————————————
<a href=#img>图片</a>   <a href=#art>文章</a>   

<a name="art" id="art"></a> ---不可见元素 文章的锚点
文章列表

<a name="img" id="img"></a> ---不可见元素 图片的锚点
图片列表
——————————————————————

但是CI似乎把#也当做是 参数去解析了!根本不会进行页面内部的跳转,点过之后没有任何动静!不是刷新页面,也不是跳转到锚点标记处,而是没有任何动作。
而且,上面的这个方式添加的链接,它根本就会跳转到首页去了!这个链接的写法应该是:
<a href="<?php echo site_url('tag')."/".$tag ?>#img">图片</a>

说明一点,我并没有把#也放在参数中: $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';


请教各位大牛指点!

huboo82 发表于 2010-4-11 22:32:04

不知道你最终输出的页面是什么样的,还是你预期的那样吗?
视图:<a href="<?php echo site_url('tag')."/".$tag ?>#img">图片</a>
最终页面预期:<a href="http://domain/tag/TAG#img">图片</a>

不过忽然发现好像你的site_url()用的也有问题
<a href="<?php echo site_url('tag/'.$tag); ?>#img">图片</a>

snllll 发表于 2010-4-12 00:55:57

<a href="<?php echo site_url('tag/'.$tag); ?>#img">图片</a>

呵呵,我的用法谈不上是问题吧。
我输出的页面绝对没问题。但是点击的时候不起作用。

huboo82 发表于 2010-4-12 13:40:45

那你更换浏览器试一下吧,既然输出的页面是绝对没问题的

zycbob 发表于 2010-4-12 16:01:58

本帖最后由 zycbob 于 2010-4-12 16:09 编辑

我这里测试没问题
ci 1.72

function test($v='')
{
      $this->load->helper('url');
      echo $v;      // 控制器/方法/参数
      echo '<a href="'.site_url('blog/test/'.$v).'#id2">goto id2</a>';
      $this->load->view('test');
}

<html>
      <head>
                <title>test</title>
      </head>
<body>
      <div style="height:1000px;">1</div>
      <a name="id2"></a>
      <div style="height:1000px;">2</div>
</body>
</html>

http://localhost/blog/test#id2
http://localhost/blog/test/param#id2
都可以跳转到锚点

snllll 发表于 2010-4-12 21:49:23

我这里测试没问题
ci 1.72


http://localhost/blog/test#id2
http://localhost/blog/test/param#id2
都可 ...
zycbob 发表于 2010-4-12 16:01 http://codeigniter.org.cn/forums/images/common/back.gif


    谢谢你~
    是不是我的中文传参数引起的问题?因为TAG中有中文的存在

snllll 发表于 2010-4-16 00:03:09

这个问题完全可以这样解决,这个是我在案例网站中看到的一个方法,就是在TAG之后多加一个/然后加锚点即可

zycbob 发表于 2010-4-18 17:00:37

有没有那个/似乎没影响,都一样正常

snllll 发表于 2010-6-22 17:38:26

有没有那个/似乎没影响,都一样正常
zycbob 发表于 2010-4-18 17:00 http://codeigniter.org.cn/forums/images/common/back.gif


    你说的你测试的正常,我这里跳转倒是跳转了,不过很明显,网页重新加载了一遍。不知道你那里是否正常?

Hex 发表于 2010-6-23 09:43:17

# 后面的内容是不会传递到服务器端的。
除非你把 # 转义了 -_-
页: [1] 2
查看完整版本: 锚点与参数的矛盾