我有一个hotfix应用程序生成HTML幻灯片。这些模块是用Jquery构建的,背景是内联CSS(这是我能想到的最佳解决方案,因为它们每个实例都是唯一的)。
问题是firefox会将style属性中的引号转换为:<div style="background-image: url("bigspace-template.jpg");"
class="nuiOpenspace t1 skin1">
webkit浏览器对此没有问题。
我唯一能得到背景属性的方法是:
// Build function, shortened
openspace.build = function(){
// ...
var bgstr = 'background-image: url('+ this.val_image + ')';
$o = $('<div class="nuiOpenspace"></div>').attr('style', bgstr);
// ...
}
然后将输出附加到文档中:
function Sandbox(){
var $sandbox = $("#sandbox");
this.fill = function(o) {
$sandbox.empty();
$sandbox.append(o);
};
// ...
}
然后从dom中获取HTML,转换为字符串,然后输出到textarea中:
function Source(){
this.print = function(o, c_val){
//var parsed_html = this.parse(o, c_val);
//var pretty_html = "";
//pretty_html = style_html( parsed_html );
//console.info(x.replaceAll('&qout;', 'x'));
$code.text( style_html($("#sandbox").html()) );
};
}
var source = new Source();
我试过搜索和替换,但火狐总是切换到/添加"什么好主意吗?
据我所知,"
是"
,所以"
在它自己的"
之间。我想这是行不通的。
如果你把原来的代码(在firefox中不工作的代码)更改为有效代码(使用转义或'
和"
的组合而不是"嵌套""
),你不是更接近解决方案吗?