web-dev-qa-db-ja.com

アンカーを使用すると、ナビゲーションバーのリンクが同じページを指す

私のサイトには2つのページがあります。

http://www.example.com/en
http://www.example.com/en/contacts

ページは両方とも共通のナビゲーションバーを共有し、ナビゲーションバーのリンクの一部はホームページの特定のアンカーにリンクしています。

これらのリンクは正しく機能しません、代わりにcurrentページの同じ名前のアンカーを指します。

私はこれらの構文をすべて試しました:

index.php?Itemid=1121&#anchor1
index.php?Itemid=1121&#anchor1
http://www.example.com/en/#anchor1
  • 1121はホームページのItemIDです。
  • すべてのアンカーはHTML IDです。
  • 現在のページの要素にanchor1 IDがない場合、リンクは何もしません。
  • <a href="...">link</a>構造体内の別の場所で使用すると、どちらのアドレスも意図したとおりに機能します。
  • リンクを右クリックして「別のウィンドウ/タブで開く」を選択すると、どちらのアドレスも意図したとおりに機能します。
  • この問題は、SEF URL書き換えオプションをアクティブにする前から存在していました。
  • &&amp;に変更しても問題は解決しません。
  • Chrome=の要素を調べると、次のコードが得られます。

    <a href="/en/#anchor1" data-uk-smooth-scroll="{offset: 0}">Home Page Anchor</a>
    

この問題を解決するにはどうすればよいですか?

必要に応じて、Joomla 3.6.4、PHP 7.0.13、およびYoothemeのLunaテーマを使用しています(したがって、uikit smoothscrollデータです)。動作はIE 11.672.10586.0およびChrome 54.0.2840.99 m

1
Firefighter

どうやら、smoothscroll js呼び出しを削除するだけで修正されました。

0
Firefighter

私はこの手順でこれを解決します:

  1. 「非表示メニュー」を作成します。
  2. この非表示メニューに<p> </p>などの空白の記事を作成します。
  3. この空白の記事に「ホーム」を設定します。

  4. これで、#anchorsは「1ページのサイト」のように機能しました。

この例を参照してください: http://www.sindha.org.br/lab/

これがお役に立てば幸いです。

0
Max