2014-08-27 63 views
0

首先,有一个看起来这examle链接重定向不工作

See here

如示例中给出的,我想创建Telrik文本编辑器中的类似页面,即列表中的某些环节和它们对应的段落。

这是使用Telrik文本编辑器的HTML IM,链接都是这样

This is the First <a href="#first" class="TableHead">link</a>. 
This is the 2nd <a href="#second" class="TableHead">link</a>. 
This is the 3rd <a href="#third" class="TableHead">link</a>. 

和段落都是这样

<a name="first" class="TableHead">1</a>. 
    <p>First Para</p> 
    <a name="second" class="TableHead">2</a>. 
    <p>2nd Para</p> 
    <a name="third" class="TableHead">3</a>. 
    <p>3rd Para</p> 

我的理解,一个简单的HTML页面在添加锚点的href网址的结尾。

但我的问题是我当前网页的网址是这样的

http://testdev.com/#/document/document-view?id=c118a6b9-ed7f-410a-9729-341333fb8655 

这个网址已经有“#”在里面。

而且当我在“第一页”链接点击它重定向到以下

http://testdev.com/#first 

我不敢肯定,但我认为这是因为,已经一个“#”在URL

请咨询一些解决方案

回答

1

您的URL中不能有两个锚点。

一种解决方案是使用JavaScript函数window.scrollTo:看http://jsfiddle.net/cujdju5f/

+0

,但内容是通过客户端使用编辑器添加,而他们大多是复制粘贴HTML等等这些的onclick事件不会在那里...... – 2014-08-27 12:22:29

+0

我用window.scrollTo,动态地创建IDS对的div和工作完美.. – 2014-09-09 11:16:07

1

真它是正确的,它重定向到http://testdev.com/#first。因为您已经在同一页http://testdev.com/它不会重新加载页面,但它会滚动到您在#之后定义的id

所以你当前的页面是:http://testdev.com/#/document/document-view?id=c118a6b9-ed7f-410a-9729-341333fb8655在当前页面http://testdev.com/和定义的ID /document/document-view?id=c118a6b9-ed7f-410a-9729-341333fb8655

如果您重定向到http://testdev.com/#first页是http://testdev.com/和ID是first

因此,它不会重定向页面,而是会在同一页面上访问id

将您的段落HTML更改为下面的HTML,它将起作用。

<a id="first" name="first" class="TableHead">1</a>. 
<p>First Para</p> 
<a id="second" name="second" class="TableHead">2</a>. 
<p>2nd Para</p> 
<a id="third" name="third" class="TableHead">3</a>. 
<p>3rd Para</p> 
+0

顺便说一下:'name'是通过URL定位器处理元素的旧HTML4方法。此方法已过时,不应再使用。一个'id'就是你所需要的,事实上,这应该是HTML中唯一的ID用例... – feeela 2014-08-27 12:16:47

+0

我将属性“name”更改为“id”,但它仍然重定向到http://testdev.com/#first – 2014-08-27 12:20:09

+0

如果你使用'link'作为链接,'1'它应该工作。如果没有,那么也许是另一件令人不安的事情。 – 2014-08-27 12:25:50