如何在iFrame中运行jQuery函数

how to run jquery function in iframe

提问人:Denis 提问时间:4/15/2016 更新时间:4/21/2016 访问量:1563

问:

我在输入上有 onchage 函数,我的代码之前在父页面上工作,但是我如何像这样运行我的 onchange 函数来影响 iframe<select>

themeSelect.on('change', function(e) 
            {
                e.preventDefault();
                updateTheme(themeSelect.val());
});

我已经尝试过此代码

var $f = $("#myIFrame");
$f[0].contentWindow.updateTheme(themeSelect.val());

但它仍然不起作用:(

我是jquery的新手,希望有人可以帮助我

jQuery iframe

评论

0赞 XCS 4/15/2016
src 是否与父页面位于同一域中?如果不是,那么只要您没有权限来编辑该 iframe 内容的源代码,您就无法执行此操作。iframe
0赞 Rajshekar Reddy 4/15/2016
如果您在同一域下同时拥有 iframe 和父页面,则可以控制 iframe DOM,否则不能。

答:

1赞 Bharat 4/15/2016 #1

你可以像这样做,

代码用于 asp.net,但将帮助您获取父数据。

有多种方法可以做到这一点。

I) 直接获取主父级。

top.location.replace(link);

这里 top.location 直接获取父级。

II)逐一获得父母,

var element = $('.iframe:visible', window.parent.document);

如果您有多个 iFrame,请在此处指定 Active 或 Visible One。

你也可以像这些一样来获得更多的父母,

var masterParent = element.parent().parent().parent()

III) 通过标识符获取父级。

var myWindow = window.top.$("#Identifier")

评论

0赞 Denis 4/17/2016
我应该把脚本放在哪里?父文件夹上的iframe src如下所示: <iframe id=“getIframe” src=“localhost/design/bootstrap-3.3.6” style=“width: 100%;高度:100%;“ scrolling=”yes“ marginwidth=”0“ marginheight=”0“ frameborder=”0“ vspace=”0“ hspace=”0“> 抱歉,您的浏览器不支持 iframe </iframe>
0赞 Denis 4/17/2016
我使用iframe,因为我的jquery和样式是冲突的
0赞 Bharat 4/17/2016
好的,Denis 做一件事,把你所有的代码都放到 jsFiddle 上,然后给我它的链接,这样我就可以调试并给你正确的答案。