首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改链接中的URL的最简单方法?

问修改链接中的URL的最简单方法?
EN

Stack Overflow用户
提问于 2012-06-29 00:52:32
回答 4查看 105关注 0票数 0

我们的网站包含到各个子域名的href链接: foo.mysite.com,bar.mysite.com。出于测试目的,我想在一个完全不同的主域名上运行该站点,并指向新域名之外的子域。

而不是手动更改所有的链接,我希望只有一个版本的网站与链接看起来像这样:

代码语言:javascript
复制
<a href="foo.(window.location.hostname)/mypage?myparam=value">Link</a>

执行此操作的最简单语法是什么?

我知道我可以编写jQuery代码来劫持链接,但更简单的in-link语法会更好。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-29 01:10:08

你不能使用javascripts onclick事件吗?tpo执行以下操作:

代码语言:javascript
复制
<a href="#" onclick="javascript:window.location.href = 'foo.' + window.location.hostname + '/mypage?myparam=value';">Link</a>
票数 0
EN

Stack Overflow用户

发布于 2012-06-29 01:04:45

你可以尝试点击:

代码语言:javascript
复制
<a href="foo.{host}/mypage?myparam=value"
   onclick="this.href=this.href.replace('{host}', window.location.hostname)">Link</a>
票数 1
EN

Stack Overflow用户

发布于 2012-06-29 01:01:18

我见过后端系统使用ENV变量在生产环境之间进行更改。例如,您可以设置一个环境变量,如var ENV = 'live'或var ENV = 'production。然后,您可以使用它来定义要使用的子域。

代码语言:javascript
复制
var ENV = 'production';

// set subdomain based on ENV variable
var subdomain = 'bar';
if(ENV == 'production'){
   var subdomain = 'foo';
}

// modify every link to use the subdomain
$('a').each(function(){
  var modifyHref = 'http://' + subdomain + $(this).attr('href')
  $(this).attr('href', modifyHref);
});

我不认为你应该在前端JS上这样做。

如果子域是一个问题,我会将所有路径设置为<a href="/mypage?myaparam=value">。这样的话,什么子域就不重要了。如果你在foo子域上,它会转到“foo.any/mypage?myaparam=value”,如果你在bar子域上,它会转到“bar.any/mypage?myaparam=value”。

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

https://stackoverflow.com/questions/11249384

复制
相关文章

相似问题

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