2014-03-12 69 views
1

闪光我使用以下JS以避免无样式内容的搜索引擎友好的方式闪光:SEO友好的解决方案,以避免无样式内容

<script type="text/javascript"> 
$('#Container').addClass('fouc'); 
$(document).ready(function() { 
    $('#Container').show(); 
}); 
</script> 

其中也有相关联的CSS:<style> .fouc {display:none;}</style>

我期望发生的事情是,在页面加载时,至少我的div #Container应该在类.fouc中添加,但是,只有当我通过控制台手动添加它时才会发生这种情况。

我是否需要一些额外的代码等才能使其按照预期发挥作用?

仅供参考,我已经在调用此脚本之前调用JQuery。

您的帮助表示感谢!

+4

此代码需要在#Container元素之后立即生效才能生效,但它可能不会完全摆脱FOUC。 100%摆脱它的唯一方法是预先设计元素(直接添加类而不是使用js)或用内联css隐藏它们。 –

+0

你看到了什么浏览器?我认为这几乎被归入IE的古老版本,只要你的CSS链接是他们应该在的位置(在'头部'),那么在今天的浏览器中这不是问题。 (实际上,我认为这不是问题......它只是它们的工作原理) –

+0

无论您的操作系统/浏览器有多新,缓慢的个人电脑仍然经常使用FOUC。 –

回答

0

避免FOUC的最佳方法是将所有链接放到您的CSS文件<head>元素中。这样,样式规则将在内容之前加载,然后将其样式化。这是搜索引擎优化和用户友好。

+0

其中一个问题是我使用[anythingslider.js](https://css-tricks.com/examples/AnythingSlider/demos.html)脚本,但是,它经常呈现像这样的https:/ /css-tricks.com/examples/AnythingSlider/demos.html什么都没有缓存。 –

+0

上面的第二个链接是我试图通过这个FOUC解决方案避免的! –

+2

看,这是一个JS问题。我没有看到任何seo的问题,通过向图像添加适当的类来预先设置滑块,这会导致除第一个之外的所有内容都被隐藏。 –