0

我们的客户拥有不止一种我们的网络设备,不同之处仅在于序列号和 IP 地址。

客户端在连续配置多个设备时会出错,因为各个 Web 应用程序看起来太相似了,并且由于客户端复制和粘贴错误而返回了运行良好的设备。

因此,在网页标题中使用易于识别的颜色来区分 Web 应用程序将非常有用,该颜色对于每个设备都是不同的。

序列号可用于 JavaScript,我认为在 JavaScript 中生成独特的颜色会很好。这样,每个设备在每个页面标题中都会有不同的颜色点或几何图形,并且更容易区分。

我编写了有效的 JavaScript 代码:

function ChangeColor(mySerialNumber) 
{
    var i = 0;    
    var asciinum;  
    var numberstring = '';  
    for(i=0; i < mySerialNumber.length; i++)  
    {  
        asciinum = mySerialNumber.charCodeAt(i);  
        numberstring += (asciinum).toString();  
    }  

    if(numberstring.length < 9)  
    {  
        while(numberstring.length < 9)  
        {  
            numberstring = '9' + numberstring; // prepend  
        }  
    }  
    else  
    {  
         numberstring = numberstring.substring((numberstring.length -10),(numberstring.length -1));  
    }  

    newcolorcode = 'rgb(' + numberstring.substring(1,3) + ',';  
    newcolorcode = newcolorcode + numberstring.substring(4,6) + ',';  
    newcolorcode = newcolorcode + numberstring.substring(7,9) + ')';  

    alert('numberstring is ' + numberstring + ' and new color code is ' + newcolorcode);  

    colorme.style.backgroundColor = newcolorcode;  
}  

我们的序列号是连续的,看起来像这样:

677-026A、677-027A、677-028A 等

所以生成的颜色太接近了,看起来太相似了。

有人对改善颜色跨度有什么建议吗?我不能使用 rand 函数,因为颜色必须在给定机器的每个网页上保持相同?

谢谢,伯特

4

1 回答 1

0

通过在屏幕一角添加装饰点并允许用户使用 Jan Odvarko 的 JavaScript 颜色选择器更改颜色来解决此问题

http://jscolor.com

在颜色选择时,JavaScript 确认会询问用户是否要保留此颜色。如果是,Ajax 调用会在服务器端保留选择。

效果很好。

谢谢大家!

于 2014-01-21T17:09:47.963 回答