1

我使用的电子商务平台 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。

假设需要这个网站管理员不知道(或关心?)两个站点(http:// 和 https:// 协议)上的 HTML/PHP/JS 等。

某些文件应该在一个站点上,而不应该在另一个站点上。反之亦然。

于 2013-02-24T21:33:46.300 回答