jquery 改变iframe内容

有两个页面分别是a.html,b.html.a里面包含一个iframe,iframe加载b,我通过jquery获取b的内容进行修改。a主要代码如下,<script>$(f... 有两个页面分别是a.html,b.html.
a里面包含一个iframe,iframe加载b,我通过jquery获取b的内容进行修改。
a主要代码如下,
<script>
$(function(){
$("iframe").contents().find("body").html("你好!");
});
</script>
</head>
<body>
<iframe src="b.html"></iframe>
</body>
b是一个空白页面,现在刷新a的瞬间b中会出现“你好”,但是瞬间又变成空白页面,这是什么原因?
我试了一下,把jquery代码放在body后面也是不行的,但是页面上放一个按钮,把jquery代码放在按钮里面完全没问题。
展开
 我来答
zzllrr小乐
高粉答主

推荐于2018-02-27 · 小乐数学,小乐阅读,小乐图客等软件原作者,“zzllrr小乐...
zzllrr小乐
采纳数:20147 获赞数:78793

向TA提问 私信TA
展开全部
这是浏览器同源策略(本地调试时,涉及跨域)的问题。
例如,在Chrome控制台出现错误:

Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a cross-origin frame

解决办法:
上传到服务器,问题就不会出现了。
百度网友89e5bdc0b
2015-12-14 · TA获得超过883个赞
知道小有建树答主
回答量:650
采纳率:100%
帮助的人:300万
展开全部
因为js在body前先加载了;
当body元素加载出来,js就执行了,而iframe却加载没js执行快,才出现“你好”,但是瞬间又变成空白页面。

可以把scrpit放到body后面加载。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式