0

我编写了一个小的 HTML5 页面,我需要能够支持多种语言。我通过使页面将 JSON 文件加载到内存(在 HEAD 中)然后运行 ​​jQuery 命令来根据需要更改任何元素的文本来实现语言控制。

一切正常,除了因为更改被称为渲染后(如果文档就绪功能),随着语言的更改,会有轻微的闪光。

是否有在页面呈现之前但在 DOM 可用之后调用的事件?如果没有,是否有任何更改实施的建议。

干杯..

更新

我在其他网站上找到了一些答案。普遍的共识似乎是这是不可能的,因为大多数浏览器在解析时会呈现。建议的解决方法是在脚本中隐藏(显示:'none')正文,然后在文档就绪功能中更新后显示(显示:'')。虽然不是 100% 完美,但它对我来说有点用。

4

2 回答 2

1

听起来您对 FOUC(无样式内容的 Flash)有疑问

有几种方法可以绕过它。您可以将其添加到您的身体中:

<body class="fouc">

然后有这个CSS:

.fouc{display:none;}

最后是这个脚本:

$(function(){
      $('.fouc').show();
});

这是通过最初隐藏页面,然后一旦你准备好,用javascript打开它。您可能需要确保在$('.fouc').show();通话之前进行操作。

于 2013-08-13T12:20:42.140 回答
0

One effective solution, though not the one you are probably looking for, is to use OUTPUT BUFFERING ... What is output buffering?

于 2013-08-13T12:11:46.503 回答