2010-06-22 45 views
3

如果我通过JavaScript在页面中添加内容,它可以通过搜索引擎蜘蛛抓取并可通过屏幕阅读器访问。如果我通过JavaScript在页面中添加内容,它将被搜索引擎蜘蛛抓取

对于example this

var tip = "<p>Most computers will open PDF documents "; 
tip += "automatically, but you may"; 
tip += "need to download <a title='Link to Adobe website-opens in a new window'"; 
tip +=" href='http://www.adobe.com/products/acrobat/readstep2.html' 
       target='_blank'>Adobe Reader</a>.</p>"; 

$(document).ready(function(){ 

    //IF NUMBER OF PDF LINKS IS MORE THAN ZERO INSIDE DIV WITH ID maincontent 
    //THEN THIS WILL PUT TIP PARAGRAPH AS LAST CHILD OF DIV 
    if($("div#maincontent a[href*='/pdf']").length>0){ 
    $("div#maincontent").children(":last-child").after(tip); 
    } 
}); 

编辑:我想从搜索引擎,但在同一时间隐藏此通过屏幕阅读器访问的保持是这可能吗?

回答

2

这取决于搜寻器,但不要指望大多数机器人来解释Javascript。

2

简答题,可能不是。但是,Google一直在变得越来越复杂,所以我怀疑他们实际上将Javascript作为索引过程的一部分。

有没有特别的理由这样做?如果可能的话,我建议尽可能使用逻辑服务器端,然后您知道您的HTML可以被搜索引擎读取。

+0

但是这个生成的代码显示在呈现的视图源代码和萤火虫中也是 – 2010-06-22 03:59:59

+0

是的,Firebug会在*完全呈现在浏览器中之后显示代码DOM。我不知道Google是否将其作为索引过程的一部分。如果您想确定,请尽可能从服务器发送HTML。 我的意思是,在你的例子中,HTML的特定位置对于搜索引擎来说不会有意思,所以它不是什么大不了的事。但如果有真实的内容,我会做上述。 – 2010-06-22 04:10:03

+0

谷歌通常不会执行JavaScript(虽然他们确实使用了一些启发式方法来试图弄清楚发生了什么)。在这种特殊情况下,他们可能只是看到JavaScript中的字符串中的嵌入式HTML并将其编入索引。就我个人而言,我同意这个答案:这样做与JavaScript没有什么优势,除了它不适用于JavaScript关闭的人(这是一个缺点,当然)... – 2010-06-22 04:19:15

1

Re:动态生成的内容(在浏览器上)是否可以被搜索引擎抓取?通常,不。

但谷歌已经发明了一种方法来解决这个问题。请参阅ajax crawling

注意:他们通过使用表示动态页面的不同状态的各种查询参数来抓取您的URL。他们不会试图在您的页面上运行js。

0

不,大多数网络爬虫不执行JavaScript,旧版屏幕阅读器也不读取它。你最好的选择是只将Javascript用于演示目的,并使用逻辑服务器端(PHP,Ruby,.NET等)和一些CSS魔术来实现你想要在内容上做什么。如果您关注网页抓取工具和屏幕阅读器,并且仅将JavaScript用于演示文稿,则始终要通过服务器端插入内容。或者,您可以为屏幕阅读器使用Flash和JavaScript嗅探器,将用户重定向到不依赖动态内容的替代页面。

相关问题