html 有争议的实际使用

vdzxcuhz  于 2023-06-27  发布在  其他
关注(0)|答案(2)|浏览(120)

我刚刚发现了contenteditable属性,我正在考虑它的实际用途。
我认为这将是可怕的快速更新到一个页面,但有一些问题,如:

  • 安全性:你显然不希望任何人更新你的页面,所以允许编辑内容应该受到相当严格的控制
  • 登录后使页面内容可编辑。这难道不需要改变整个页面的标记吗?这本身不是问题,但我想这是一项相当大的工作
  • 保存新内容。从理论上讲,这可以通过ajax和json来完成,将新的页面标记保存在数据库的字段中,不是吗?还有,你实际上如何向网站确认“我已经完成了更改,你现在可以保存它了”

我喜欢这个快速编辑页面内容的想法,就在你将要看到它的地方。我对在我的网站上实现这样的事情感到非常兴奋,但在尝试之前我可以使用一些指导。
有人能解决上述列出的问题以及任何我没有考虑过的可能相关的问题吗?
谢谢你的时间!

7xllpg7q

7xllpg7q1#

      • 安全性**是的,您不希望任何人更新您的页面,但这与contenteditable本身无关。人们现在可以使用浏览器的开发工具更改互联网上任何页面的内容,但除了伪造有趣的屏幕截图外,如果服务器不接受更新,这对他们来说没有多大用处。这里更重要的问题是通过确保用户添加到页面的内容是“安全的”(例如,这就是为什么博客通常不允许评论中的大多数HTML标签)来防止cross-site scripting攻击。
      • 登录后内容可编辑**用户登录后在服务器端逻辑中添加contenteditable属性即可。或者,当用户单击“编辑”按钮时,使用JavaScript添加它。我不希望它改变整个页面的标记,因为这种方法是明智的,页面已经在服务器端生成,无论如何,从一个模板被存储在数据库中的内容填充。如果您正在谈论使静态站点可编辑,那么,是的,您将有很多工作要做,但是无论您计划让人们编辑页面,您都有这些工作要做。
      • 保存新内容**是的,使用Ajax。JSON并不是必须的,它是你想要发送回的HTML内容,对吗?以HTML格式发送回来,记住上面关于跨站点脚本的评论,并在服务器端进行安全检查(永远不要相信用户输入)。如何确认用户完成编辑取决于你,就像你必须添加编程逻辑来用Ajax发送更改并在服务器上处理这些更改一样,你必须添加显示编辑工具(粗体,斜体等按钮)的逻辑-添加一个按钮以同时执行更新。
nxagd54h

nxagd54h2#

一个用例是字体网站推广。
我在www.example.com上发现了这个属性https://www.luciole-vision.com/luciole-en.html#try,在那里你可以改变文本,并看到你的文本使用这种字体。

相关问题