我在一個項目中工作,我被要求製作,它必須在IE8中以與預期相同的方式在其他瀏覽器中工作。查找與IE8兼容的文檔片段中的數據
這是一個用於將HTML翻譯成BBCode的系統,反之亦然。
我目前的問題是將HTML轉換成BBCode(BBCode轉換爲HTML已解決(我希望))。
我有,作爲一個例子,這種投入的翻譯(這是一個擾流板)
<DL contenteditable=false><DT>Spoiler:</DT><DD class=codebox contenteditable=true>someTextToBeSpoiled</DD></DL>
如果有多條線路,它甚至更糟!
<DL contenteditable=false><DT>Spoiler:</DT><DD class=codebox contenteditable=true>Line1</DD><DD class=codebox contenteditable=true>Line2</DD><DD class=codebox contenteditable=true>line3</DD></DL>
什麼都碼我必須使用這個翻譯必須是(有點)可改寫成幾乎任何HTML結構,應該與擾流板標籤此特定代碼工作工作的多面手碼與其他任何代碼一樣。我知道每一個數據在哪裏。
試圖解決這個ie8(對於其他人使用更好的解決方案,使用方法不能在ie8和BTW,他們解決它很快)。
`var theOuterHTML = document.createElement('div'); theOuterHTML.innerHTML =「
var searchContent = regexEscape(theOuterHTML.innerHTML).replace("<!\\-\\- [email protected]!!# \\-\\->", "(.*?)")
searchContent = searchContent.replace("\n", "");
new RegExp(searchContent, "gm").exec(param1['context'].outerHTML)[1]
`
的問題是,VAR searchContent盯着所有的代碼如下(更換是有,但似乎什麼都不做): <DL contenteditable=false> <DT>Spoiler:</DT> <DD class=codebox contenteditable=true>someTextToBeSpoiled</DD></DL>
(是的,那些怪異的新生產線,沒有理由存在)
替換似乎沒有對這些新行做任何事,並且添加新行到輸入是不可能的(由於ie8的不可預測性)。
最終文本是: [spoiler]someTextToBeSpoiled[/spoiler]
試問,這樣的事情得到解決?我在這個整天被百思不得其解:(