【发布时间】:2017-09-29 14:39:07
【问题描述】:
我正在开发一个网络扩展程序,但遇到以下问题。
我有 browser_action 显示带有一些内容的弹出窗口。问题是,加载需要 3-4 秒,并且用户每次打开此浏览器操作都必须等待。
我希望以某种方式强制 browser_action 仅加载弹出窗口的 DOM 一次,因此当我再次打开此操作时,它会显示已渲染的窗口。
我无法通过后台脚本预加载任何资产,因为该资产是远程网站的<iframe>,并且您不能轻松地将渲染的 DOM 存储在 localStorage 中,以便稍后在用户请求时显示它。
我曾想过将<iframe> 放在后台脚本中,并以某种方式在 browser_action 弹出窗口中显示它,但我不知道该怎么做。
后台页面加载一次并在启用扩展时永久保留,所以也许我可以在 browser_action 弹出窗口中以某种方式显示它的内容?
【问题讨论】:
-
如果不需要交互(js),可以将整个HTML和所有CSS存储为纯文本,然后直接写入iframe即可。
-
“他的问题是,加载需要 3-4 秒” - 这听起来像是你的实际问题。优化页面,而不是弹出窗口?
-
我已经在问题中说明了它是远程网站(WhatsApp Web 要清楚)。我无法优化它。
标签: javascript iframe google-chrome-extension firefox-addon firefox-addon-webextensions