jQuery - 将内容加载到div中,未应用样式?

时间:2010-04-15 20:40:56

标签: jquery html css ajax

我正在尝试让这个内容加载器工作,并且我设法让它获取新内容,一旦内容加载它没有正确设置样式。字符“é”也成为问号。 Doctype问题?通常使用Cufon的h2标签也不会触发。

所以基本上,这个内容加载器要求我有一堆基本相同的页面,除了我想要重新审视的内容。这样,用户就可以像往常一样使用实际的URL。只有在已经加载的页面上单击链接时,它才会被#content div中的内容替换为realle。

我可以在这里发布代码,但我认为最好只在testpage上观看它。它的图形非常低btw;)

http://www.matkalenderen.no

只需点击蓝色文字链接,您就会看到它。此外,第二个加载内容上的红色按钮应该将内容还原为之前的内容。但它没有被触发或什么的。发生了什么事?

2 个答案:

答案 0 :(得分:2)

是因为new_user.php是ISO-8859-1文件。

XMLHttpRequest,用于获取页面,默认为UTF-8。由于XMLHttpRequest不了解HTML,因此它将忽略您用于声明该编码的<meta>标记,并继续使用UTF-8,从而导致无法读取{{1}编码为单个非UTF-8字节。

你应该让你的脚本发回真实的é,浏览器的HTML解析器 header('Content-Type: text/html; charset=ISO-8859-1');都可以理解,或者 - 可能更好 - 只需使用UTF- 8为您的整个网站。然后你可以来回发送任何Unicode字符,而不仅仅是来自Latin-1的几个重音字母。

样式对我来说很好看。我能看到的唯一区别是新加载的内容缺少字体替换。发生这种情况是因为字体替换内容仅在页面加载时运行。您可以在加载新页面后调用XMLHttpRequest以在新标题上再次进行替换,或者考虑Cufon.replace('h2');嵌入,这将开始接管此类事情。

答案 1 :(得分:1)

如果您遇到character encoding问题,则不会遇到doctype问题。