仅在需要时使用iframe加载内容 - 潜在的陷阱和替代方案?

时间:2017-05-04 13:33:24

标签: javascript html iframe

如果这个问题不合适,我很抱歉。

我有一个网站。当用户第一次输入时,我想显示一个带有嵌入式YouTube视频,一些社交媒体共享按钮等的框。在后续页面加载时,此框仅由用户通过按钮打开。这非常简单,我可以根据<div>标记和localStorage事件隐藏onclick

但是,当用户第二次进入该页面时,将加载所有数据(YouTube视频,社交按钮),然后立即隐藏。如果用户决定不单击显示数据的按钮,则无意中加载它。这很糟糕,因为它会破坏页面加载时间。

我做了什么:

我将所有内容(YouTube视频等)放在单独的HTML页面中。在我的主页面中,我有<iframe> src=""。当我想要显示内容时,我只需src="content.html"。这样,数据仅在需要时加载。

问题:

我的解决方案可能遇到哪些问题?这被认为是不好的做法吗?还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

我看到的问题是使用localStorage来设置状态。您应该考虑使用cookie

Cookie允许您设置过期日期。因此,一次性访问者不会永久保留数据。

另请注意,这两种方法都可以在浏览器中停用,因此您应该检查是否可以设置该值。

参见https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookieshttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/cookieEnabled

iframe的禁忌是“用借来的羽毛装饰自己”,即将外部页面插入自己的内容,使其看起来像你的内容。