某些网站插入<script></script>
有什么好处? html 中的标签包含基本用户登录数据?
这些是示例之一:
<script>
Shopify = {};
Shopify.shop = {
settings: {"timezone":"(GMT+08:00) Kuala Lumpur","timezone_offset":480,"timezone_abbreviation":"MYT","tzinfo":"Asia\/Kuala_Lumpur","currency":"MYR","money_format":"\u003cspan class=money\u003eRM{{amount}}\u003c\/span\u003e","money_symbol":"RM","money_with_currency_format":"\u003cspan class=money\u003eRM{{amount}}\u003c\/span\u003e","created_at":"2014-08-15T12:19:28+08:00"},
domain: "shop.myshop.com"
};
Shopify.currentUser = {"id":xxxx,"name":"Joe Doe","email":"joe@example.com","accountOwner":true,"accountAccess":"Account owner","permissions":["full"],"isEmployee":false};
</script>
这些方法是如何工作的?谢谢!!
最佳答案
让我们看一下这个 Javascript 片段,看看它做了什么:
Shopify = {};
这定义了一个名为 Shopify 的空全局对象。
Shopify.shop = {
settings: {"timezone":"(GMT+08:00) Kuala Lumpur","timezone_offset":480,"timezone_abbreviation":"MYT","tzinfo":"Asia\/Kuala_Lumpur","currency":"MYR","money_format":"\u003cspan class=money\u003eRM{{amount}}\u003c\/span\u003e","money_symbol":"RM","money_with_currency_format":"\u003cspan class=money\u003eRM{{amount}}\u003c\/span\u003e","created_at":"2014-08-15T12:19:28+08:00"},
domain: "shop.myshop.com"
};
这里,在 Shopify 对象中定义了一个名为 shop 的成员。 该成员也是一个包含两个成员的对象(在大括号内定义):
settings - 这也是一个对象,其中包含timezone、timezone_offset和其中的一些其他属性。
domain - 这是一个包含域名的字符串。
Shopify.currentUser = {"id":xxxx,"name":"Joe Doe","email":"joe@example.com","accountOwner":true,"accountAccess":"Account owner","permissions":["full"],"isEmployee":false};
最后一行还在全局对象 Shopify 中定义了一个名为 currentUser 的成员,并且也是一个包含一些属性的对象,其中包含有关(最有可能)记录的信息在用户中。
所以基本上整个 Javascript 代码片段用于生成一个名为 Shopify 的对象,其中包含一些用户信息,这些信息可以通过页面本身中的某些脚本访问。
此代码很可能是由页面本身使用可能有权访问此信息的服务器端脚本生成的。当页面中的 Javascript 代码需要访问私有(private)信息时,这通常是实现此目的所采取的方法之一。
关于javascript - 带有用户数据的 HTML 脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32680374/