1

私が使用しているeコマースプラットフォームであるbigcommerceは、グローバル変数を使用してデータを動的に挿入します。サーバー側の変数を操作するために必要なphpにアクセスできません。

チェックアウト時を除いて、変数はすべてhttp:リンクをレンダリングしますが、誰かがhttps:を介して閲覧したい場合は、すべてのメニューとカテゴリのリンクが準拠するように、それらを相対的なものにするスクリプトが必要です。

私は現在これを使用してメインナビゲーションを修正していますが、これは明らかに最良の解決策ではなく、生成されたリンクの残りはhttpのままです

<script type="text/javascript">
    relativeLinking();
    function relativeLinking(){
        var GLOBAL_PagePath = "%%GLOBAL_PageLink%%".substring(5);
        document.getElementById("%%GLOBAL_PageName%%").setAttribute("href", GLOBAL_PagePath);
    };
</script>
4

2 に答える 2

2

このコードを使用して、すべてのリンクを変換できます。

$(function() {
    $('a').each(function() {
        var self = $(this);
        self.attr('href', self.attr('href').replace(/.*\/\//,'//'));
    });
});
于 2013-02-24T20:43:57.597 に答える
0

ダスティン、

このJavascriptコード

    var GLOBAL_PagePath = "%%GLOBAL_PageLink%%".substring(5);
    document.getElementById("%%GLOBAL_PageName%%").setAttribute("href", GLOBAL_PagePath);

属性を設定します。そもそも正しいHTMLを提供するだけでなく、なぜこれが必要なのか。

これが必要なのは、Webマスターが2つのサイト(http://およびhttps://プロトコル)のHTML / PHP / JSなどを知らない(または気にしない)ことを前提としています。

特定のファイルは、一方のサイトにも他方のサイトにも存在する必要があります。逆に。

于 2013-02-24T21:33:46.300 に答える