欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-10 08:30:14
...
比如我JS写了点击事件,点击以后添加一行文字在网页上,但是刷新后文字就消失了。
我想保持永久修改的话是不是要用到PHP?

回复内容:

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

合理的姿势应该是:

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

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

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

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

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

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

  • 存在 localstorage。用 localstorage API 获取。

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

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

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