search

Home  >  Q&A  >  body text

javascript - 我想在浏览器端直接对网站进行修改但是刷新后就初始化了

比如我JS写了点击事件,点击以后添加一行文字在网页上,但是刷新后文字就消失了。
我想保持永久修改的话是不是要用到PHP?

ringa_leeringa_lee2774 days ago374

reply all(5)I'll reply

  • 巴扎黑

    巴扎黑2017-04-11 10:45:38

    合理的姿势应该是:

    1. js在客户端新增了内容(本题中是dom节点),同时应该ajax告知服务器端数据变化

    2. 下次刷新页面时,服务器端(本例中是php)根据新的数据渲染页面时就包含了上次在客户端增加的节点

    建议多看一点网站开发方面的文章或者书

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:45:38

    浏览器只对网页源文件的内容进行解析和渲染

    代码加上的内容,自然会被清除。除非,你把它存在某个地方:

    • 存在服务器端。用ajax获取。

    • 存在 localstorage。用 localstorage API 获取。

    reply
    0
  • 怪我咯

    怪我咯2017-04-11 10:45:38

    我觉得你的应用场景应该类似于那种比较大的表单,当用户不小心误操作关闭窗口的时候,保存下他之前填写的内容。
    这种情况用本地存储就好了,localstorage/sessionstorage/cookie。
    当然发送给后台也可以,但是会增加后台的工作量,你们的后台人员估计不会愿意去做。

    reply
    0
  • PHPz

    PHPz2017-04-11 10:45:38

    理论上你的页面中,需要动态追加的内容区域应该是动态展示区,它的内容需要在服务器端进行存储的。
    JS动态追加效果是为了减少数据跟服务器端交互时,用户等待时间过长,影响用户体验,所以js点击某个事件时有两个操作:
    1.将内容动态添加到页面的dom节点上去(用户立刻看到效果)
    2.通过ajax、表单提交等技术将内容提交到服务器端处理(数据过滤、存储等)
    当用户再刷新页面时,那个动态区域是通过PHP服务器解析生成的内容,同时把最新的内容展现出来,保证数据不会丢失。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:45:38

    和php没什么关系,很多语言都能处理Post和Get请求。
    解决方案:存放到服务器或者本地呗。

    reply
    0
  • Cancelreply