对于如何使用jQuery从母公司的iframe里面?(How to use jquery from

2019-06-25 09:31发布

我有一个文件,我们称之为父win.html,通过域example.com服务。 此文件包含在它的jQuery。 一个IFRAME,让我们把它的iframe win.html,嵌入在此页面。 iframe的win.html有ID的表单元素form-elem和值Hello World! 。 现在我下面里面的iframe。

var jQuery = parent.jQuery;
console.log(jQuery('#form-elem').val());

据我有限的JS的知识,我应该看到Hello World! 在控制台上,而是我看到不确定的。 现在,我的问题是,我需要在iframe重新载入的jQuery或我可以利用已经加载的父窗口jQuery对象?

请注意,这是没有像往常那样访问IFRAME /从父/ IFRAME父内容。

Answer 1:

试试这个在iframe:

if (typeof(jQuery) == "undefined") {
    var iframeBody = document.getElementsByTagName("body")[0];
    var jQuery = function (selector) { return parent.jQuery(selector, iframeBody); };
    var $ = jQuery;
}


Answer 2:

这是一个基于莫因的回答更好的解决方案:

if (typeof(jQuery) == "undefined") {
    window.jQuery = function (selector) { return parent.jQuery(selector, document); };
    jQuery = parent.$.extend(jQuery, parent.$);
    window.$ = jQuery;
}

因此,我们可以用$的功能,如$不用彷徨,$ .extends等。



Answer 3:

您需要加载jQuery的内部iframe

编辑:好的,如果帧是不在同一个域,那么你就不必重新加载jQuery的。 见从IFRAME访问jQuery库



文章来源: How to use jquery from parent inside an iframe?