javascript - 使用 jquery 或 javascript 访问 iframe HTML DOM
问题描述
我已经看到一些关于使用 javascript 和/或 jquery 访问 iFrame 中的 HTML DOM 的线程,但这些对我不起作用。这是我正在测试的示例:
这是 HTML 文件 iframe.html:
<!DOCTYPE html>
<html>
<body>
body1
<div id="mydiv" style="background-color: red">
div text red bg
<h1 style="background-color: gray">IFRAME gray bg </h1>
</div>
body2
</body>
</html>
这是带有javascript和jquery测试的测试代码:
<!DOCTYPE html>
<html>
<body>
<iframe id="myframe" src="iframe.html"></iframe>
<div id="demo">div area</div>
<p>Click the button to change the iframe color.</p>
<button id="jq_btn" >exec jquery</button>
<button id="js_btn" onclick="myFunction()" >exec javascript</button>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#jq_btn").click(function(){
$("body").css( "background-color", "yellow" );
$("body").css( "color", "blue" );
$("div").css( "background-color", "orange" );
$( "iframe" ).contents().filter( "body" ).css( "background-color", "blue" );
$( "iframe" ).contents().find( "body" ).css( "background-color", "blue" );
$("#myframe").contents().filter( "h1" ).css( "color", "green" );
$("#myframe").contents().find( "h1" ).css( "color", "green" );
});
});
function myFunction() {
//alert('myFunction');
var iframe = document.getElementById("myframe");
var elmnt = iframe.contentWindow.document.getElementsByTagName("div")[0];
elmnt.style.display = "none";
}
</script>
</body>
</html>
但是这些示例都没有成功访问 iframe 内容。javascript 示例似乎无法在指令中访问“文档”对象iframe.contentWindow.document
有人可以告诉我在这两种情况下我做错了什么吗?
谢谢,道格
解决方案
推荐阅读
- jquery - jQuery获取元素的索引,但只是在其类中
- geojson - “HERE Maps API for JavaScript”是否完全支持 GeoJSON 格式?
- linux - 使用动态标头更改 psql 复制命令
- django - Django 从 GET 中删除某些参数
- python - 在 jupyter 上使用 pandas_gbq 时删除所有日志
- loops - 如何在飞镖中顺序执行异步函数
- android - Android - 当bakc按下返回活动而不是关闭抽屉时的MaterialDrawer
- reactjs - 时间戳格式不支持 React `react-datepicker` 作为默认值
- python - 使用 AND 条件的关联规则挖掘
- java - 步骤失败:SeleniumError:无法创建新服务:ChromeDriverService 构建信息:版本:'3.141.59'