2011-11-21 86 views
2

我試圖做簡單的模板,用於在網站的用戶。我有一個測試線是這樣的:避免FF JS自動HTML編碼?

<div id="test"><a href="{url}">Test</a></div>

它會正確地與下面的JS在所有瀏覽器提醒HTML除了FF:

alert(document.getElementById('test').innerHTML);

在FF它會改變大括號到他們的HTML編碼版本。我不想僅僅通過URL解碼來防止用戶通過實際的URL輸入HTML而不是其中的模板。在REGEXing返回值之外解決這個問題的任何想法?

我的小提琴是在這裏:http://jsfiddle.net/davestein/ppWkT/

編輯 因爲它是看似不可能避免在FF的差異,我們仍處於發展初期,我們只是要切換到使用[]代替{}。將@Quentin標記爲正確的答案,因爲這是我要去的,

+1

+1對於希望避免的正則表達式如果可能的話:-) –

回答

3

當你得到的東西innerHTML,你得到的DOM,其中將包括任何錯誤恢復或瀏覽器不等同替換結構的序列化表示。

有沒有辦法讓從DOM的原始來源。

+0

我打賭你是對的 - 我不知道爲什麼FF是選擇了以這種方式進行序列化,雖然唯一的瀏覽器。試過Chrome,Safari,IE和Opera--都給了我想要的東西。 –

0

如果您的代碼在其他地方不包含%xx,則可以通過unescape()運行它。