首页 > 解决方案 > 根据不同的域隐藏div

问题描述

我有两个域 domainone.com 和 domaintwo.com 都是一个和另一个的别名,但是我希望站点的徽标根据加载的 URL 进行更改。

原因是因为它是一个 URL 缩短脚本,所以我没有必要运行多个相同的脚本。

例如:

domainone.com/b应该显示logoone.png并且domaintwo.com/b应该显示logotwo.png

非常感谢任何帮助,谢谢。

标签: javascripthtmljquery

解决方案


好吧,您可能想为此使用一些 javascript + css 选择器。

首先选择要更改图像的 img 元素:

let image = document.querySelector(".divClass img");

或者,如果您可以为图像元素设置一个 id,则为:

let image = document.getElementById("yourImgId");

然后用这个检查主机名:

let hostname = window.location.hostname;

然后使用正则表达式来测试域名

if(/domain1.com/.test(hostname){
  image.src = yourImage1Url;
}
else if(/domain2.com/.test(hostname){
  image.src = yourImage2Url;
}

依此类推,如果有一天有更多域,您可能会进一步这样做。

编辑:只是为了确保一切都在安全的情况下发生,您可以将该代码包装到一个函数中并在 eventListener 上使用它,如下所示:

function YourFunctionName(){

  let image = document.getElementById("yourImgId");
  //or let image = document.getElementById("yourImgId");
  let hostname = window.location.hostname;
  if(/domain1.com/.test(hostname){
    image.src = yourImage1Url;
  }
  else if(/domain2.com/.test(hostname){
    image.src = yourImage2Url;
  }
}
window.addEventListener("load", YourFunctionName);

我希望这能够帮到你。


推荐阅读