如果这个问题不合适,我很抱歉。
我有一个网站。当用户第一次输入时,我想显示一个带有嵌入式YouTube视频,一些社交媒体共享按钮等的框。在后续页面加载时,此框仅由用户通过按钮打开。这非常简单,我可以根据<div>
标记和localStorage
事件隐藏onclick
。
但是,当用户第二次进入该页面时,将加载所有数据(YouTube视频,社交按钮),然后立即隐藏。如果用户决定不单击显示数据的按钮,则无意中加载它。这很糟糕,因为它会破坏页面加载时间。
我将所有内容(YouTube视频等)放在单独的HTML页面中。在我的主页面中,我有<iframe>
src=""
。当我想要显示内容时,我只需src="content.html"
。这样,数据仅在需要时加载。
我的解决方案可能遇到哪些问题?这被认为是不好的做法吗?还有其他解决方案吗?
答案 0 :(得分:0)
我看到的问题是使用localStorage
来设置状态。您应该考虑使用cookie
。
Cookie允许您设置过期日期。因此,一次性访问者不会永久保留数据。
另请注意,这两种方法都可以在浏览器中停用,因此您应该检查是否可以设置该值。
参见https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies 和https://developer.mozilla.org/en-US/docs/Web/API/Navigator/cookieEnabled
iframe
的禁忌是“用借来的羽毛装饰自己”,即将外部页面插入自己的内容,使其看起来像你的内容。