新しい答え
(1)次のようにリンクにデータターゲットを追加できます。
<a href="products.php#my-catalogue" data-target="#my-catalogue">my catalogue</a>
(2)Bootstrapは、ナビゲーションリンクでhrefまたはdata-targetのいずれかを使用して、ページ上のターゲット領域を検索します。products.php#my-catalogue
コードに正規表現チェッカーのようなものがある場合、失敗します。ただし、事前にトリムを行うと機能します
スクロールスパイブートストラップコードでは、次のように変更できます(ScrollSpyの「更新」機能で)。
.map(function () {
var $el = $(this)
, href = $el.data('target') || $el.attr('href')
, $href = /^#\w/.test(href) && $(href)
に
.map(function () {
var $el = $(this)
, href = $el.data('target') || $el.attr('href')
, trimmed = href.match(/#\w*/)[0]
, $href = /^#\w/.test(trimmed) && $(trimmed)
そして、次のようなものを持っています
<a href="products.php#my-catalogue">my catalogue</a>
問題ないはずです
古い答え
たぶん、ブートストラップjsコードでスクロールスパイセレクターを編集してみることができますか?
行があります(私にとっては1442年頃):
selector = this.selector
+ '[data-target="' + target + '"],'
+ this.selector + '[href="' + target + '"]'
に変更された場合
selector = this.selector
+ '[data-target="' + target + '"],'
+ this.selector + '[href="products.php' + target + '"]'
あなたの問題を解決することができます