我将要构建一个web应用程序(而不是web演示),它将通过AJAX (jQuery)将其内容加载到特定的div中。div上方将有一个菜单,当用户单击菜单中的某个项目时,相应的页面将加载到主div中。
我想知道为web应用程序选择此模式是否有任何优缺点。
到目前为止,我敢肯定浏览器的后退按钮和历史/url将会消失。
发布于 2010-10-26 17:57:21
两个可能的缺点是,它可能使用户很难在您的站点上为内容添加书签,并且搜索引擎很难区分您站点上的页面。
您可能应该提供更多关于采用此方法的原因的信息。您可能有很好的理由,或者这可能是使用一种技术(AJAX)的情况,因为它使用起来很酷。
如果你想给用户一个快速响应的印象,那么AJAX可以加载你的页面,但每个页面仍然有一个不同的url。这将需要更多的代码,但它将解决我提到的两个问题。
http://yourdomain.com/home.aspx //loads its own content via AJAX
http://yourdomain.com/contact.aspx //loads its own content via AJAX
etc只有当你有很多内容,或者内容涉及耗时的计算时,这才是真正合适的,比如在一个金融网站上。在大多数情况下,通常或会将你的内容分成分页的块,这样就不会那么麻烦了。
发布于 2010-10-26 17:59:51
这种方法的主要缺点是,这将使搜索引擎很难抓取您的站点。他们不读Javascript,所以你的内容不会被他们看到或索引。尝试使用progressive enhancement,这样他们(以及任何不使用Javascript的用户,例如屏幕阅读器)就不会被抛在后面。
另一方面,你可以保留浏览器的历史记录功能。这可以使用URL散列来完成,例如http://www.example.com/#home vs http://www.example.com/#about-us。最好的方法是获取Ben Alman的hashchange plugin,然后使用hashchange事件:
$(window).hashchange(function(){
var location = window.location.hash;
//do your processing here based on the contents of location
});这将允许用户使用其浏览器的历史记录功能和书签功能。有关更多信息,请参阅他的网站上的文档。
https://stackoverflow.com/questions/4022474
复制相似问题