TYPO3中的内部锚点不起作用

时间:2012-09-19 11:51:35

标签: html hyperlink anchor typo3

通常使用<a name="anchorname">Introduction</a>定义内部锚点。如果你链接到一个锚,你可以写<a href="#anchorname">Top</a>

TYPO3在每个元素之前添加一个像<a id="c118"></a>这样的锚点。所以现在我在内容元素上链接RTE(tab:page)。如果我点击这样的链接<a class="internal-link" title="Some text" href="index.php?id=24#c118">Some text</a>在FF 15.0.1中没有任何反应。

  • FF 15.0.1 - 不工作(什么都不做)
  • IE9 - 不工作(跳转但错误的位置)
  • Safari 5.1.7 - 正常工作
  • Opera 12.02 - 不工作(什么都不做)
  • Chrome 21 - 正常工作

是否有任何解决方案可以链接到TYPO3中同一页面上的内容元素?这是在规范之外还是浏览器错误?

修改

现在我把它放到主要设置中:

tt_content.stdWrap {
  dataWrap = |
  prepend >
  prepend = COA
  prepend {
    10 = TEXT
    10.dataWrap = <a id="c{field:uid}" name="c{field:uid}"><!-- ANCHOR --></a>
    10.if.isFalse.field = _LOCALIZED_UID
    20 = TEXT
    20.dataWrap = <a id="c{field:_LOCALIZED_UID}" name="c{field:_LOCALIZED_UID}"><!-- ANCHOR --></a>
    20.if.isTrue.field = _LOCALIZED_UID
  }
  prefixComment = 1 | CONTENT ELEMENT,
uid:{field:_LOCALIZED_UID//field:uid}/{field:CType}
}

现在我在HTML代码中有<a id="c118" name="c118"></a>个锚点但是FF仍然无法工作......我发现如果我禁用所有样式(CSS),而不是锚点在FF中工作。为什么?

解决方案:

以下几行是问题所在:

.gallery {
  /* Weird anchor link bug in browsers if activated 
  position:relative;
  float:left;
  */
  width:753px;
  margin-bottom:25px;
}

仍然存在导致问题的原因......

2 个答案:

答案 0 :(得分:2)

从技术上讲,这些锚点正确且应该工作。请参阅 w3.org 。 但是,您可以通过修改Typoscript设置中的tt_content.stdWrap.prepend.dataWrap来更改这些锚点的生成。使用Typoscript对象浏览器检查当前设置。

答案 1 :(得分:0)

直到TYPO3 6.2.25,没有任何额外的代码,我使用过:

<a name="top"></a>

<a href="/index.php?id=(id-number)#top">Go to Top</a>

我在某处找到了更好的解决方案:

<a name="top"/>

<a href="" onclick="javascript:document.location.hash='top'; return false;">Goto top</a>