我有以下z.js
方法可以将样式动态应用于 DOM 元素,如下所示:
z.Utils.applyStyle(element,'background-image:stamp.gif')
功能在z.Utils.applyStyle
这里:
z.Utils.applyStyle = function(elRef,style)
{
if(typeof(elRef) == 'string')
{
elRef = document.getElementById(elRef);
}
if(elRef == null || style == null || elRef.style == null)
{
return null;
}
style=style.replace(/\_/g,'-').toLowerCase();
var pairs = style.split(";");
for(var ii =0; ii < pairs.length; ii++)
{
var kv = pairs[ii].split(":");
// trim value
if(!kv[1])
{
continue;
}
var value = kv[1].replace(/^\s*/,'').replace(/\s*$/,'');
var key = "";
for(var jj = 0; jj < kv[0].length; jj++){
if(kv[0].charAt(jj) == "-")
{
jj++;
if(jj < kv[0].length)
{
key += kv[0].charAt(jj).toUpperCase();
}
continue;
}
key += kv[0].charAt(jj);
}
switch(key)
{
case "float":
key = "cssFloat";
break;
case "right":
key="left";
value=value-z.Utils.getElementOffset(elRef).width;
break;
case "bottom":
key="top";
value=value-z.Utils.getElementOffset(elRef).height;
break;
}
try
{
elRef.style[key] = value;
}
catch(e)
{
//some error thrown;
}
}
return true;
};
当我想使用上面的函数将数据 uri 应用为背景图像时该怎么办?就像是:
z.Utils.applyStyle(element,'background-image: url(data:image/gif;base64,[base64-code])');
我用 37K 图像完成了它,但它无法正常工作。
我做错了什么?
可能是,数据 uri 在动态分配中不可用?
可能大 30k+ 大小的 base64 数据是错误的?
有问题的css可以在这里查看:http:
//bookingshare.fw.hu/data_uri_long.css
提前感谢大家的帮助!