我使用HTML导入作为一种在网站上动态注入内容的工具。它工作正常,完美,有一个很好的article
公开了在文件和模板上使用导入。
确实,其他文章很少,但是Bidelman的文章最多。它涵盖了导入脚本。但是,由于能够呈现导入的内容并能够运行脚本,因此我无法使其保存本地存储中的数据。
我可以从导入文件中的导入文件中运行脚本,就像警报一样。但是不可能捕获我需要存储和存储的数据。如何做到这一点?这是我的代码示例。
我有一个简单的选择,其ID为dim_city。捕获变更价值并存储在本地存储中的脚本非常简单:
var ie = importDoc.querySelector('#dim_city'); // capture the selector value.
function getData() {
var idc=ie.options[ie.selectedIndex].value;
var dataCi=(idc);
localStorage.setItem("ic", dataCi);
var storedData = localStorage.getItem(dataCi);
mainDoc.body.appendChild(dataCi.cloneNode(true)); // this adds tha captured data to importer file.
}
作为单个文件,它可以正常运行并将数据存储在localStorage上。导入后,它将运行脚本(如警报),但不能存储在localStorage上。
显然,浏览器支持HTML导入。
最佳答案
根据definition,导入没有browsing context,因此没有localStorage
。
http://w3c.github.io/webcomponents/spec/imports/#terminology