jQuery模式对话框是否友好?如果不是,我们可以进行哪些更改,以便爬虫可以轻松读取模态对话框中的内容?
提前致谢。
编辑:抱歉忘记提及模态中的内容来自服务器端。所以它也在使用ajax。
答案 0 :(得分:4)
如果你的对话框内容只是存在于页面中并且“变成了一个jquery模式对话框”,那么它将成为爬虫可以访问的数据的一部分...如果内容是通过ajax等加载的话那那就不会不要编入索引,因为它需要运行javascript来填充html。
...
<body>
<div id="MyModalDialog">
This is content I want the search engine to index. As it exists in the page without needing any javascript to exist here, it could be indexed.
</div>
<input value="Show Dialog" id="ShowDialog" />
</body>
...
修改强>
如果内容需要任何方式的javascript并且它还不是原始请求的一部分,那么您基本上可以假设抓取工具不会将其编入索引。
编辑2
如果你想要一个战略来克服这一点。如果您使用html链接打开对话框,只要链接正确打开了网址,那么您可以随时为没有启用javascript的浏览器/客户端/抓取工具提供备用,然后可以将内容编入索引......但是将在原始网址下编入索引...您可能不希望人们进入您的网站...
这样的事情:
<div id="dialog">
</div>
<a href="/page/to/index/content" class="open-dialog">Open Dialog</a>
和脚本
$(function() {
$("a.open-dialog").click(function(e) {
e.preventDefault();
// get the url that this link is going to open
var url = $(this).attr("href");
// put contents in div and show dialog
$("#dialog").load(url).dialog({modal:true});
});
});
因此,爬虫只会跟随从标记到其他内容的链接并可能将其编入索引...希望这是有意义的...否则jquery代码将取消链接单击并打开对话框中的内容。