如何在自定义域中使用 ASP 查询字符串应用动态十六进制颜色背景?

问题描述 投票:0回答:1

我正在构建一个经典的 ASP 页面,用户可以通过传递查询字符串参数(例如,

?bgColor=#ffcc00
)动态更改背景颜色。虽然像
red
这样的命名颜色工作正常,但十六进制值(例如
#ffcc00
)并不按预期应用。

这是我当前方法的简化示例:

<%
Dim bgColor
bgColor = Request.QueryString("bgColor")
If bgColor = "" Then
    bgColor = "white" ' Default background color
End If
%>
<!DOCTYPE html>
<html>
<head>
    <title>Dynamic Background</title>
</head>
<body style="background-color: <%= bgColor %>;">
    <p>Change the background color using the URL query string (?bgColor=colorname or ?bgColor=#hexvalue).</p>
</body>
</html>

当我使用如下 URL 时:

http://example.com/myPage.asp?bgColor=#ffcc00

十六进制颜色不起作用,但命名颜色可以。

我的问题:

  1. 如何使十六进制颜色在这种情况下工作?
  2. 此方法适用于任何域(例如,
    http://example.com/
    )还是我需要为不同的域或环境配置额外的内容?
  3. 是否需要进行任何服务器端 (ASP) 或浏览器端更改来确保兼容性?

我尝试过的:

  • 已验证命名颜色(例如,
    red
    )有效,但十六进制值无效。
  • 测试了不同的内联
    style
    方法,但没有成功。

如何在经典 ASP 环境中动态设置背景颜色,同时支持命名颜色和十六进制值?

css background asp-classic query-string
1个回答
0
投票

请尝试以下

<%

函数 IsValidColor(颜色) 昏暗的正则表达式 设置正则表达式 = 新正则表达式 regEx.Pattern = "^(#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})|[a-zA-Z]+)$" regEx.IgnoreCase = True regEx.Global = True IsValidColor = regEx.Test(颜色) 设置正则表达式=无 结束功能

调暗背景颜色 bgColor = Request.QueryString("bgColor") 如果不是 IsValidColor(bgColor) 那么 bgColor = "white" ' 默认背景色 结束如果 %>

© www.soinside.com 2019 - 2024. All rights reserved.