通过 html/css 更改锚标签的 href 属性

3
我有一个网页(假设是http://www.example1.com),其中包含一个指向另一个网站的锚点(例如http://www.example2.com)。在发布之前,我必须在测试服务器上进行测试(其url为www.example1-test.com和example2-test.com)。当代码在example1-test.com上时,链接应该指向example2-test.com;当它在example1.com上时,它应该指向example2.com。

但我不能在切换服务器时使用JavaScript或手动更改代码。我只能使用HTML和CSS。有没有办法做到这一点?

我知道这是一个奇怪的问题,而且CSS用于样式而不是写逻辑,但如果有通过一些HTML标记启用浏览器中的JavaScript的方法(如某些meta标记等),则无法使用JavaScript。

我可以放置两个分别指向example1.com和example2.com的链接,并根据环境进行展示/隐藏,但问题是我在哪里放置这些条件(不能使用JavaScript)。


1
你是说浏览器默认禁用了JS吗?没有办法使用HTML或脚本启用JS。 - mplungjan
2
仅使用HTML/CSS无法完成。服务器端代码是一种方式(如PHP等)。 - James
2
你的开发环境为什么要禁用JS? - PeeHaa
JavaScript 可能在客户端机器上被禁用。无论如何,我只是想确认是否可以仅使用 HTML/CSS 实现。 - hardcoder
1个回答

0

为了测试,我曾经使用更改我的hosts文件并将实际域名重定向到内部网络上的测试IP。我跟踪链接,我的浏览器认为我正在访问example2.com,但实际上我的hosts文件指向example2-test.com的IP,我看到了新功能。当两者都上线时,我知道访问者体验与我刚刚测试的完全相同,但使用实时DNS。

现在,我的应用程序中的URL是使用路由和环境生成的。我可以明确告诉我的框架,在开发环境中,我希望使用XYZ基础生成URL,但在生产中表现不同。

另一个选择是Greasemonkey脚本。它是一个浏览器插件,可以执行命令来操作页面、导航、自动化等等。

我想不出一种客户端方法来实现你所寻找的,除非使用Javascript或浏览器插件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接