保存项目到收藏列表的最佳方法- PHP, JS或组合
Best method for saving items to a favourites list - PHP, JS, or a combination?
我目前正在为一家招聘公司重新开发一个新的网站。他们在网站上有数千个工作岗位,分为不同的职业、等级、专业和地点。
目前,该网站使用PHP构建所有页面,但在平面html中缓存所有动态页面,以加快网站的加载速度。他们每隔几天就会更新数据库上的作业,并清除缓存以显示效果。
在新版本的网站上,客户端有一个要求的功能,允许用户在候选列表中保存他们最喜欢的工作。
我的问题是这样的。我知道我可以很容易地在php中做到这一点,但这种方法需要放弃当前的缓存系统,所以它会减慢网站的速度(谷歌越来越多地在其排名算法中使用网站速度)。良好的自然搜索引擎性能在这一行是至关重要的。我可以使用纯javascript构建一个工作候选名单系统-并允许它在您浏览时跨页面共享数据吗?这可能使用cookie吗?或会话吗?该站点已经使用query作为其js交互的基础。
还是最好的方法是js和php的组合?
任何帮助规划此功能将非常感激。我宁愿在正确的道路上开始,也不愿在意识到错误之前走到一半!
是的,你可以用javascript做到这一点。我自己是一个Dojo家伙,但它很容易用jQuery完成。
看一下jquery的cookie插件:https://github.com/carhartl/jquery-cookie
也看看主干JS: http://documentcloud.github.com/backbone/#View
使用Backbone将允许您使用MVC设计模式创建列表。
具体来看一下todo列表的例子:http://documentcloud.github.com/backbone/examples/todos/index.html
点击"查看带注释的源代码"查看完整的带注释的源代码
对待办事项列表进行一些修改,您应该有您的工作列表。然后cookie插件将为您提供持久性。
正如Ali所说,您绝对可以使用cookie和jquery来做到这一点。
但是,需要考虑的一点是,数据将存储在特定的计算机上,而不是存储在用户的帐户中。所以,如果我在家里浏览你的网站,在我的候选名单上添加了一堆工作,然后去工作,决定继续做下去,我的候选名单就会消失。因此,虽然纯js和cookie的解决方案会很好,因为它不会干扰当前的页面缓存系统,但它不会提供最佳的用户体验。要做到这一点,您必须php并将候选列表存储在数据库中。不过,大多数php框架都支持部分页面缓存。所以你可以从html中提供大部分页面,然后添加一个动态生成的部分,这将是你的候选名单代码。这个解决方案可能会做更多的工作,但最终会更好。
- 在SVG地图上添加水的渐变,就像在谷歌地图(PHP/JS)中一样
- PHP/JS-EchoJs函数PHP curl发布后的通知
- FullCalendar backend PHP/JS to symfony 3
- 什么'是一个用于PHP+JS(extJS)开发的IDE,支持ctrl+click
- PHP/JS 文本差异
- 一个页面上有两个引导 php-js 表单
- Piwik:如何跨域(PHP/JS)跟踪访问者(用户ID)
- 使用php-js-msyql的实时更新消息系统
- 使用PHP/JS自动刷新Highcharts
- 如何为PHP/JS游戏制作倒计时/定时器
- node.js可以选择性地引入到用普通PHP/js/CSS/HTML构建的web应用程序中吗
- 用PHP/JS开发依赖表单字段的最佳方法
- 无法从数字中删除空白(PHP/JS)
- PHP/JS:动态Dropboxes和回显SELECTED值
- 更改数据库值AJAX PHP JS
- '套接字连接错误'在Aptana 3上调试PHP/JS时
- PHP/JS:用JS函数发布输入值,并通过PHP进行回显
- 在“onexit”或“onsubmit”之后,查询mysql并填充表单字段,而无需离开页面php js
- "Share-to-Facebook" html / php / js
- 从 PHP-JS 返回数组的计算的读取值