Jquery .html, Firefox在属性中编码引用



我有一个hotfix应用程序生成HTML幻灯片。这些模块是用Jquery构建的,背景是内联CSS(这是我能想到的最佳解决方案,因为它们每个实例都是唯一的)。

问题是firefox会将style属性中的引号转换为:
<div style="background-image: url(&quot;bigspace-template.jpg&quot;);"
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();

我试过搜索和替换,但火狐总是切换到/添加"什么好主意吗?

据我所知,&quot;",所以"在它自己的"之间。我想这是行不通的。

如果你把原来的代码(在firefox中不工作的代码)更改为有效代码(使用转义或'"的组合而不是"嵌套""),你不是更接近解决方案吗?

最新更新