首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用javascript或jquery更改链接的域部分

用javascript或jquery更改链接的域部分
EN

Stack Overflow用户
提问于 2011-09-16 19:32:29
回答 4查看 9.6K关注 0票数 5

对不起,我原来的问题不清楚,希望通过重新措辞,我可以更好地解释我想做什么。

因此,我需要一种使用JavaScript (或jQuery)来执行以下操作的方法:

确定当前页面的域为accessed

  • identify --使用域www.domain1.com并替换为www.domain2.com

的页面上的所有链接

也就是说,如果用户正在访问www.domain2.com/index,那么:

代码语言:javascript
复制
<a href="www.domain1.com/contentpages/page.html">Test 1</a>

应该在加载时动态重写到

代码语言:javascript
复制
<a href="www.domain2.com/contentpages/page.html">Test 1</a>

可以在href标记中只重写url的一部分吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-21 14:41:47

您的代码将遍历页面上的所有链接。这里有一个版本,它只迭代需要替换的URLS。

代码语言:javascript
复制
var linkRewriter = function(a, b) {
    $('a[href*="' + a + '"]').each(function() {
        $(this).attr('href', $(this).attr('href').replace(a, b));
    });
};

linkRewriter('originalDomain.com', 'rewrittenDomain.com');
票数 12
EN

Stack Overflow用户

发布于 2011-09-20 22:03:15

我想出了如何让这件事成功的方法。

代码语言:javascript
复制
<script type="text/javascript"> 
// link rewriter
$(document).ready (
    function link_rewriter(){ 
        var hostadd = location.host;
        var vendor = '999.99.999.9';
        var localaccess = 'somesite1.';

        if (hostadd == vendor) { 
            $("a").each(function(){
                var o = $(this);
                var href = o.attr('href');
                var newhref;
                newhref = href.replace(/somesite1/i, "999.99.999.99");
                o.attr('href',newhref);
            });
        }
    }
);
</script>
票数 1
EN

Stack Overflow用户

发布于 2011-09-16 19:35:24

您需要使用Java或服务器端来获取IP地址。见此:

http://javascript.about.com/library/blip.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7449480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档