【发布时间】:2019-03-28 00:32:48
【问题描述】:
我正在通过数据属性传递数据,但我不希望用户能够检查页面并看到这些数据。
如何向用户隐藏这些数据?
我目前拥有的:
<li data-first="<%= somedata %>" data-second="<%= somedata %>" data-third="<%= somedata %>" class="someclass">
</li>
Which is displayed as :
<li data-first="datatohide" data-second="datatohide" data-third=" datatohide" class="someclass">
</li>
我希望用户在检查时看到的内容:
<li class="someclass">
</li>
OR
<li data-first="" data-second="" data-third="" class="someclass">
</li>
【问题讨论】:
-
不要认为这是可能的。为什么需要这些数据?也许还有其他方法可以解决您的问题
-
没有。如果您不希望用户看到这些数据属性,请不要将它们放在 HTML 中,并找到一种不同的方式来执行数据属性应该表示的内容。如果您的 HTML 节点上有很多不同的数据属性,这通常表明使用 HTML 作为数据模型,而不是让 HTML 显示数据模型的视图。 (基本 MVC)
-
@Shilly 知道了!谢谢你的回答。
-
@Shilly 所以我正在迭代(在我看来)一个实例变量(在我的控制器中声明),我需要从 js 文件中的这些实例访问数据。我将它们作为数据属性传递,因为我认为这是这样做的方法。但我意识到拥有多个数据属性可能不是要走的路。您是否看到任何替代方案?
-
我不是 ruby 专家,但由于它的模型是服务器端的,我希望任何更改都来自服务器,所以我不完全理解。但是在单页应用程序等中,我们只要求服务器提供当前视图用于渲染的数据的 json 表示,这样您就可以在内存中拥有一个对象或数组来操作,而不必从 DOM 中查询。这确实需要您在该 json 文件中隐藏敏感数据,因此服务器可能可以发送某种命令字符串而不是数据本身。还有更多的背景信息吗?
标签: javascript ruby-on-rails custom-data-attribute