gpt4 book ai didi

javascript - 在 Iframe 中加载 html 并访问 DOM

转载 作者:行者123 更新时间:2023-11-28 06:33:39 27 4
gpt4 key购买 nike

我想使用 JavaScript 将 html 文件加载到 iframe 中,然后访问 DOM 并通过 id 从我的 html 文件中获取元素,这是我的代码:

<html>
<head>
<iframe id="myframe" src="editor1.html" onload="onMyFrameLoad()"></iframe>
</head>
<body >
<script>
function onMyFrameLoad() {
alert('myframe is loaded');
var if1 = document.getElementById("myframe");
var fc = (if1.contentWindow || if1.contentDocument);
var img1 = fc.document.getElementById("GraphImage");
console.log(img1.src);
};
</script>
</body>
</html>

这是我的 html“editor.html”的一部分:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Diagram</title>
<script>
// i have here other functions to create an editor
function generatePNGFromBLOB(oViewer) {
a=1000;
var oImageOptions = {
includeDecoratorLayers: false,
replaceImageURL: true
};

var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();

var sFileName = "diagram" + h.toString() + m.toString() + s.toString() + ".png";
var sResultBlob = oViewer.generateImageBlob(function(sBlob) {
b = 64;
var reader = new window.FileReader();
reader.readAsDataURL(sBlob);
reader.onloadend = function() {
base64data = reader.result;
var image = document.createElement('img');
image.setAttribute("id", "GraphImage");
//code image in base 64
image.src = base64data;
document.body.appendChild(image);
}

}, "image/png", oImageOptions);
return sResultBlob;
}

$(document).ready(function() {
var sBlob = JSON.stringify({
"contents": { //string}
}
});

var sResultBlob = generatePNGFromBLOB(oEditor.viewer);

});
</script>


</head>

<body>
<div id="diagramContainer"></div>
</body>
</html>

所以我想做的是将我的 editor.html 加载到 iframe 中,然后从 iframe 访问并获取 image.src 来 self 的 editor.html。我尝试了,但出现错误:

cannot read src of null

最佳答案

如果 iframe 页面中包含 jquery 库,您可以尝试以下方法来查找 iframe 的父级;

$('#domElem', window.parent.document).html();

关于javascript - 在 Iframe 中加载 html 并访问 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com