我有一些代码可以将内容从iframe的页面中提取出来并将其添加到父页面中。父页面和iframe源页面位于同一目录中,因此没有跨域问题。
这将在服务器上运行,但是如果所有文件都在计算机上本地运行,则显然无法运行。在弄清楚之前,我正在扯头发。在本地运行文件只会给cont2一个未定义的值。
由于我要处理的文件敏感,我需要在没有服务器的情况下在本地运行此文件。我不知道该怎么做。
我尝试在两个文件中都设置document.domain =“ local.com”,但这没用。
有什么办法吗?
谢谢
父页面:
<html><head>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script></head><body>
<iframe id="frame1" src="page1.html"></iframe><br>
<button id="button2">Something</button>
<script>$("#button2").click(function(){
cont2 = $("#frame1").contents().find("div").html();
console.log(cont2);
$("#div2").html(cont2);
});</script>
<div id="div2">TBD</div>
</body></html>
iFrame来源:
<html>
<head></head>
<body>
<div id="div1">TODO write content</div>
</body>
</html>
答案 0 :(得分:0)
某些版本的IE允许开箱即用。似乎将本地文件视为在同一服务器上。
对于Chrome,您需要暂时禁用一些功能。看到: Disable same origin policy in Chrome