我正在创建一个Ember应用程序,它有一个内置的搜索引擎,比如房子。我的结果随着房屋的发现/添加或删除/出售而发生了很大的变化。因此,我的搜索结果一直在变化。
我也有每个房子的页面,它有一个类似的房子部分,显示总是改变类似的房子,这一个。
我正在努力寻找最好的方法,使这个应用程序爬行的搜索引擎。
我可以为每个页面使用noscript标签,但由于我所有的房屋页面可以包含不同的信息和结构,这取决于代理/卖家,这将是更多的工作,基本上复制客户正在做的事情!
我可以沿着phantomjs路线走下去,缓存我所有的页面,并通过escapedfragment_方法提供服务,但我认为这将是一种资源密集型方法,因为内容会发生如此多的变化。此外,我的房屋页面上有类似的房屋,可以根据用户/位置等改变,我不确定如何缓存这些部分。
我正在尝试的另一种方法是将页面/部分模板转换为服务器端模板,这样我就可以在服务器上呈现它。例如,当客户通过我的ember应用程序创建一个他们需要的格式的房屋页面时,他们单击publish,然后我将呈现的html转换为带有占位符的服务器端模板,等等。
有人能帮上忙吗?任何想法/建议/建议都会很棒!
发布于 2013-10-05 01:53:42
我想你已经回答了你自己的问题。这一切都是关于权衡和寻找最适合您特定情况的解决方案。没有什么灵丹妙药。就我个人而言,我使用与noscript路线相近的东西,但我没有将内容放在noscript标记中,而是将它们放在带有no-ember类的常规div中,默认情况下这些div是可见的。然后,当文档准备就绪时,我测试客户端是否支持推送状态。如果是这样,我初始化我的Ember应用程序并隐藏no-ember div。如果不是,那么所有的no-ember div都是可见的,这样客户端就可以像正常一样查看/使用内容。
https://stackoverflow.com/questions/19171003
复制相似问题