1

2 つのデータベースを使用してバイリンガル Web サイトを作成しました。

www.martyregan.com/ www.martyregan.com/jp/

「Web サイトの言語」フラグを使用して Web サイトの言語を選択できますが、現在のところ、リンクはホームページにのみ移動します。両方のサイトのパス/URL は、日本語サイトの /jp/ ディレクトリ以外はまったく同じです。

訪問者が現在表示しているページの URL に基づいて、ハイパーリンクを変更して並列ページに移動する方法を探しています。パスが同じであることは非常に簡単だと思いますが、jqueryの知識がほとんどないため、どこから始めればよいかわかりません。

4

2 に答える 2

1

これは、以下に示すように、あなたの言語がアクセシブルであることを前提としています。便宜上、「http://」は URL から削除されています。

$(function(){
    var lang = 'jp';

    $('a').attr('href', function(x, url){
        var split = url.replace(/(http:)?(\/\/)?/, '').split('/');
        return split.shift() + '/' + lang + '/' + split.join('/');
    });
});
于 2013-02-25T03:42:21.673 に答える
0

<base>サポートする必要があるブラウザーによっては、タグを使用して回避できる場合があります。サーバーから取得することで、ベースが何であれ、それを設定することができます。

jQuery を使用してそれを実行したい場合、すべてのhrefs が絶対的であれば、それはかなり単純なはずです。

$("a").attr('href', function (_, href) {
    return $("base").attr('href') + href;
});

これは、 を使用していることを前提としています<base>window.location.pathそうでない場合は、 、またはページ上の他の要素からパスを取得できます。

混乱している場合に備えて、JavaScript は<base>単独で動作するのに十分でない場合にのみ必要です。

于 2013-02-25T03:18:29.677 に答える