无法获取框架内容,Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame
Unable to get frame content, Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame
我正在尝试使用 javascript 从我的其中一个框架访问 html 文档,但出现 Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
错误。
这是主页:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script>
(function(window, document, undefined){
window.onload = init;
function init(){
var iframe = document.getElementById('main_frame');
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
var ulObj = innerDoc.getElementById("div-content");
console.log(ulObj.innerHTML);
}
})(window, document, undefined);
</script>
</head>
<frameset rows="*" noresize="noresize" border="0" frameborder="no" framespacing="0">
<frame src="frame.html" id="main_frame" frameborder="no" marginheight="0" marginwidth="0">
</frameset>
</html>
这是框架:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="div-content">
abc
</div>
</body>
</html>
如您所见,我正在尝试提取 div
的内容,即:"abc"。
我认为:iframe.contentDocument : iframe.contentWindow.document
都为空,我不知道为什么。
如果您尝试在没有 Web 服务的情况下直接从浏览器访问框架,出于安全原因,您可能会被禁止(您可以访问系统文件)。
我通过安装 xampp 并将所有文件移动到 htdocs 解决了我的问题,一切都按预期工作。
我正在尝试使用 javascript 从我的其中一个框架访问 html 文档,但出现 Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
错误。
这是主页:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script>
(function(window, document, undefined){
window.onload = init;
function init(){
var iframe = document.getElementById('main_frame');
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
var ulObj = innerDoc.getElementById("div-content");
console.log(ulObj.innerHTML);
}
})(window, document, undefined);
</script>
</head>
<frameset rows="*" noresize="noresize" border="0" frameborder="no" framespacing="0">
<frame src="frame.html" id="main_frame" frameborder="no" marginheight="0" marginwidth="0">
</frameset>
</html>
这是框架:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="div-content">
abc
</div>
</body>
</html>
如您所见,我正在尝试提取 div
的内容,即:"abc"。
我认为:iframe.contentDocument : iframe.contentWindow.document
都为空,我不知道为什么。
如果您尝试在没有 Web 服务的情况下直接从浏览器访问框架,出于安全原因,您可能会被禁止(您可以访问系统文件)。
我通过安装 xampp 并将所有文件移动到 htdocs 解决了我的问题,一切都按预期工作。