gpt4 book ai didi

javascript - 访问框架内的框架

转载 作者:行者123 更新时间:2023-11-29 20:25:36 24 4
gpt4 key购买 nike

好的,情况是这样的。我有一个我订阅的网站,可以让您添加自己的代码等。他们有一个论坛编辑器,我无法对其进行换肤以匹配我的网站,所以我只想更改最内层框架的颜色(下例中的 doc3)。

这是基本设置...是的,所有文档都来自同一域,但我只能向主文档添加代码。 doc3 框架是动态创建的。第一个框架有一个类但没有名称,第二个只有一个 id...我不知道绑定(bind)是否适用于内部框架,但 Firebug 没有给我任何错误。

哦,我也尝试过注入(inject)样式表但没有成功。

主文档(我尝试访问 doc3)

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('iframe').bind('load', function(){
$(this).contents().find('body').css({'background-color':'#333333','color':'#ddd'}); // This does change doc2 colors
$(this).contents().find('iframe#doc3').bind('load', function(){
$(this).contents().find('body').css({'background-color':'#333333','color':'#ddd'}); // doesn't work :(
})
})
})
</script>
</head>
<body>
Document #1
<iframe class="postFrame" src="doc2.htm" width="100%" height="300">
</body>
</html>

doc2.htm

<html>
<head>
</head>
<body>
<form id="form1">
Document #2
<iframe id="doc3" src="doc3.htm" width="100%" height="250">
</form>
</body>
</html>

doc3.htm

<html>
<head>
</head>
<body style="background-color:#fff; color:#000;"> <!-- access this body style -->
Document #3
</body>
</html>

我希望我说得够清楚了。任何帮助或正确方向的观点将不胜感激:)

编辑:根据 Wahnfrieden 的建议更新了主文档(谢谢!),但遗憾的是我仍然无法访问 doc3.htm

最佳答案

假设您的 iframe 都在同一个域中,请试一试:

$(function() {
$(window).load(function() {
var iframe2body = $('iframe').contents().find('body');
iframe2body.css({ 'background-color': '#333333', 'color': '#ddd' }); // doc2 colors
iframe2body.contents('iframe').contents().find('body').css({ 'background-color': '#fff', 'color': '#ddd' }); // doc3 colors
})
})

我并没有纯粹出于可读性目的将它们全部链接在一起,对于 IE,我不得不将其更改为 $(window).load(function() {

关于javascript - 访问框架内的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324764/

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