【问题标题】:How to modify and save html/css in server-side?如何在服务器端修改和保存 html/css?
【发布时间】:2012-06-20 00:02:55
【问题描述】:

我是这个主题的新手,所以对于大多数人来说,这可能是一个愚蠢的问题。我有一个简单的服务器,几个用户可以访问。如果其中任何一个更改了元素的 CSS 属性,其他人应该能够实时看到更改。

我应该使用 node.js 之类的东西来执行此操作吗?如何保存用户所做的更改?

页面看起来像这样:http://stom89.dyndns.org/

谢谢!

【问题讨论】:

  • 服务器将控制使用 Raspberry Pi 打开/关闭不同设备的开关。
  • @Tomas 只是为了澄清您真正要求的内容...您是否尝试将信息实时推送给用户? (这通常是一项非常艰巨的任务,需要您几乎拥有自己的服务器)或者您是否可以接受用户浏览器每隔一段时间检查一次数据?
  • @gabeDel,我有自己的服务器。这是拉斯皮!推送信息可能是我稍后会实现的。
  • kk 希望它听起来像一个很酷的项目保留它 copyleft :]

标签: html css


【解决方案1】:

如果我完全理解你的问题,我已经在这个话题上搞砸了一段时间。我建议查看 python、ruby 或 node.js,虽然我不能说哪个对你来说最容易学习,但我建议使用 python 和 comet server,这可能是猿,只需让服务器将更新推送给用户已经在网站上。

编辑: 轮询建议 :: jQuery
http://api.jquery.com/jQuery.get/ 用于标准数据检索,这几乎是您所需要的。

【讨论】:

  • 我认为 node.js 对于这样一个简单的应用程序来说太过分了,有些人可能会争辩说 mySQL 也是如此,从而让我们最简单。文件和定期数据轮询。
  • @ioannis 这就是为什么我建议猿猿是一个已经建成的服务器你只需要告诉它一些事情......虽然很少
  • @gabeDel 好主意,但在这种情况下,它可能不是最好的做事方式。他可以在资源有限的 Raspberry Pi 上轻松运行服务器。仅仅为了轮询 5-10 个变量而运行另一个进程并不是一个好主意。让客户做繁重的工作——时不时地拉。 ;) (谢谢你让我注意到猿猴)
  • 是的,但这取决于他真正想要完成的事情,虽然如果你是对的并且这将在树莓派上,更好的想法确实是轮询
  • 一切都将在 raspi 上。这个想法是客户主要使用移动设备访问它。
【解决方案2】:

我猜你想在你的 CSS / html 中改变的是状态。就像一盏灯是开/关的?然后,您需要将每个状态保存在 mySQL DB 中,然后获取每个用户的数据。如果你想让它看起来像在线用户的实时,那么使用 js(ajax) 定期同步数据。

没有数据库的替代方法是使用文件。

如果你不想为此使用 mysql,你可以使用文件。我建议使用 ini 文件。有关how to read/write ini files, you can visit this question. 的更多信息,它非常简单,您可以将每个变量放在一个漂亮的数组中。

你需要什么:一点 PHP,一点 jQuery(或 js),理解 GET 变量

我建议你创建 3 个文件。

index.php :
您的主页,即客户端。使用 get 拉取信息 变量。您可以为此使用 jQuery.get()。

getstate.php :
该文件将读取 ini 文件并返回每个设备的状态。使用 index.php 中的 jQuery.get() 读取它们。

savestate.php
这是您将从 index.php 发送新状态的文件 示例请求:http://address.goes.here/savestate.php?bedroomlight=1&garagelight=0

更有趣的是,ini 文件可以通过多种编程语言轻松编写/读取,因此您可以使用 Raspberry Pi 轻松操作数据。 (比如有人开灯,脚本轮询状态可能会改变 ini 文件)

【讨论】:

  • 没错,我想改变状态。我可以只用javascript吗?
  • 简答无。您需要在服务器端保存状态,这是 JS 无法做到的。尽管你可以使用 PHP、JS 和文件。检查我上面修改后的答案。
  • 想一想,您不一定需要ini文件来执行此操作。一个带有逗号分隔值的简单文本文件就可以了。猜猜 .ini 使用起来更整洁/更酷。 :P
  • 感谢您解决问题。我还认为,使用数据库太多了,所以纯文件更好。
【解决方案3】:

我认为您需要使用 sql 数据库并使用 javascript 来检测更改并通过 AJAX 进行更新。这是我最好的主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 2023-03-07
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多