我们的网站包含到各个子域名的href链接: foo.mysite.com,bar.mysite.com。出于测试目的,我想在一个完全不同的主域名上运行该站点,并指向新域名之外的子域。
而不是手动更改所有的链接,我希望只有一个版本的网站与链接看起来像这样:
<a href="foo.(window.location.hostname)/mypage?myparam=value">Link</a>执行此操作的最简单语法是什么?
我知道我可以编写jQuery代码来劫持链接,但更简单的in-link语法会更好。
发布于 2012-06-29 01:10:08
你不能使用javascripts onclick事件吗?tpo执行以下操作:
<a href="#" onclick="javascript:window.location.href = 'foo.' + window.location.hostname + '/mypage?myparam=value';">Link</a>发布于 2012-06-29 01:04:45
你可以尝试点击:
<a href="foo.{host}/mypage?myparam=value"
onclick="this.href=this.href.replace('{host}', window.location.hostname)">Link</a>发布于 2012-06-29 01:01:18
我见过后端系统使用ENV变量在生产环境之间进行更改。例如,您可以设置一个环境变量,如var ENV = 'live'或var ENV = 'production。然后,您可以使用它来定义要使用的子域。
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”。
https://stackoverflow.com/questions/11249384
复制相似问题