【问题标题】:Change href of anchor tag through html/css通过html/css改变锚标签的href
【发布时间】:2015-11-18 13:46:27
【问题描述】:

我有一个网页(比如http://www.example1.com),其中包含一个指向不同网站的锚标记(比如http://www.example2.com)。在发布之前,我必须在测试服务器上对其进行测试(网址为 www.example1-test.com 和 example2-test.com)。当代码位于 example1-test.com 时,链接应指向 example2-test.com,而当代码位于 example1.com 时,则应指向 example2.com。

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

我知道这是一个奇怪的问题,css 用于样式而不是编写逻辑,但我不能为此使用 JavaScript,除非有办法通过一些 html 标签在浏览器中启用 JavaScript。(比如一些元标签,等等)

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

【问题讨论】:

  • 你是说浏览器默认禁用JS?没有办法使用 HTML 或脚本启用 JS
  • 不能单独使用 html/css。服务器端代码将是一种方式(php 等)。
  • 为什么要在开发环境中禁用 JS?
  • Js 可以在客户端机器上被禁用。无论如何只是想确认是否可以仅使用 html/css。

标签: javascript html css anchor


【解决方案1】:

为了测试,我曾经使用change my hosts file 并将实时域重定向到内部网络上的测试 IP。我点击链接,我的浏览器认为我正在点击example2.com,但实际上我的主机文件指向example2-test.com 的IP,我看到了新功能。当两者都上线时,我知道访问者体验到的正是我刚刚测试的内容,但使用的是实时 DNS。

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

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

如果不使用 Javascript 或浏览器插件,我想不出一种客户端方式来实现您正在寻找的东西。

【讨论】:

    猜你喜欢
    • 2012-02-28
    • 2020-11-21
    • 2023-01-14
    • 1970-01-01
    • 2019-12-03
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    相关资源
    最近更新 更多