我们的 AJAX 框架会发回可能包含标记的 HTML 片段。然后我们获取该 HTML 片段并将其设置为元素的 innerHTML。在 IE 6/7 中,它似乎忽略了标签,因此返回的 HTML 样式不正确。
我想知道其他人是否遇到过类似的问题,如果遇到过,他们是如何处理的。我知道我可以使用 javascript 库(我们使用 YUI)来动态获取外部样式表,因此我可以将其转换为外部样式表。只是想知道是否有其他方法可以解决此问题。
最佳答案
当然最好的方法是纯DOM解决方案,即使用document.createElement
生成服务器返回的所有元素。
但是,(当然)有一个 IE hack 可以解决 innertHTML
提出的一些问题。不要将响应直接粘贴到 DOM 中,而是首先创建一个元素,附加其 innerHTML
,然后将其附加到 DOM。
function responseHandler(response) {
var div = document.createElement('div');
div.innertHTML = response.responseText
document.getElementById('ZE_ELEMENT').appendChild(div);
}
关于html - 在 IE 6 或 7 中使用 AJAX 加载 HTML 时,处理样式标签的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470768/