我正在使用 JavaScript 来设置控制元素的样式。
controlText.style.background = "-moz-linear-gradient(center top , #6D8ACC, #7B98D9)";
controlText.style.background = "-webkit-gradient(linear, 0% 0%, 0% 100%, from(#6D8ACC), to(#7B98D9))";
现在,除了在 IE8 中,这一切正常,我在 IE8 中收到 Invalid argument
警告。
有人可以告诉我如何修改代码以使其在 IE 上运行而不出现警告/错误吗?
问候
尼基尔·古普塔
解决方案:谢谢您的输入,我用 jQuery.browser.msie
解决了这个问题,如下所示:
if (jQuery.browser.msie) {
controlText.style.background = "#7B98D9";
} else {
controlText.style.background = "-moz-linear-gradient(center top , #6D8ACC, #7B98D9)";
controlText.style.background = "-webkit-gradient(linear, 0% 0%, 0% 100%, from(#6D8ACC), to(#7B98D9))";
}
最佳答案
您应该只在检查它是否是 Internet Explorer 之前设置这些内容。
IE 不支持渐变,因此会发出警告。
编辑:
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}
return rv;
}
来源:http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx
关于javascript - IE8警告: CSS styling with JavaScript for -moz-linear-gradient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5284756/