我有一個生成HTML幻燈片的修補程序應用程序。這些模塊在Jquery中構建,背景爲內聯CSS(我可以提出最好的解決方案,因爲它們每個實例都是唯一的)。Jquery .html,Firefox在屬性中編碼qoutes
的問題是,火狐在樣式屬性的報價轉換爲:
<div style="background-image: url("bigspace-template.jpg");"
class="nuiOpenspace t1 skin1">
的WebKit瀏覽器有這個沒有問題。
演示: http://www.greenpeace.cc/p3/nui/
腳本: http://greenpeace.cc/p3/nui/js/nui.builder.js
他們唯一的辦法我已經能夠得到background屬性是:
// 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的不斷變化來/加"。有任何想法嗎?
您是否嘗試過使用單個qoutes? '「'。或者,你可以把它放在一個臨時元素中,並得到'.text()' – mattsven 2011-04-28 11:14:24