2

mod_rewriteかわいいURLを作成するために使用するJoomlaサイトがあります。

http://www.example.com/resources/newsletter

しかし、これは問題を引き起こしました。次のような画像を含める: src="images/pic.jpg"、次のファイルを探します:

http://www.example.com/resources/newsletter/images/pic.jpg

...明らかに存在しません。これを回避するために、セクションに次の<base>タグを含めました。head

<base href="http://www.example.com/" />

...同じページのアンカーポイント(ブックマーク)へのリンクを試みるまで、うまくいきました:

<!-- on http://www.example.com/resources/newsletter -->
<a href="#footer">go to the footer</a>

<!-- clicking that link takes you to http://www.example.com/#footer -->

<a href="resources/newsletter/#footer">ページを編集するときにページの URL を必ずしも知っているとは限らないため、リンクを に変更することは現実的ではありません。<base>一部のリンクにディレクティブを無視させる方法はありますか?

私はストレートな HTML ソリューションを本当に好みますが、私はこのサイトで既に jQuery を使用しているので、行き詰まった場合はそれがオプションになる可能性があります。

4

2 に答える 2

2

あなたのsrc属性を次のように変更することは可能/images/pic.jpgですか? それはあなたが探している効果を達成するでしょう。

それが不可能な場合は、この (テストされていない) jQuery コードが機能するはずです。

$('a[@href^="#"]').click(function() { 
  var hash = this.hash, el = $(hash), offset;
  if(!el.size()) {
    el = $("[@name=" + hash.slice(1) + "]");
  }

  offset = el.offset();
  window.scroll(offset.left, offset.top);
}); 
于 2009-01-02T01:33:33.353 に答える
0

古い質問、新しい答え..これを試してください:

$('a[href^="#"]').on('click', function (event) { 
    event.preventDefault();
    window.location.hash = $(this).attr('href');
});
于 2016-06-07T01:26:04.217 に答える