jBox使用记录

1、不显示底部按钮,可以将buttons设置为buttons:{}

例:$.jBox.open("iframe:http://www.baidu.com", "百度一下", 800, 350, { buttons: { } });

2、在使用top.$时,父窗口请用 parent 或 top,如果是多层iframe,需要调用多个parent。

如取的父窗口中id为"aa"的input的值:var value=top.$("#aa").val();

3、jBox框架中的使用方法。

如果在最上一层的父框架中添加了jBox的引用文件。在下一级子框架中通过top.$.Jbox来打开新的窗口时,请使用parent来访父窗口。

如果又弹出新的一层窗口。那么要访问前面的除最顶层的父窗口外的某一个窗口,请使用  window.parent.frames[n]来访问窗口中的元素和JS方法。其中N表示第几个窗口,从0开始算起。

传统的那类方法不能兼容多种浏览器,下边的可以。

$(window.parent.document).contents().find("#iframeID")[0].contentWindow.initPagerList();

 
说明: iframeID 为iframe的ID;
       initPagerList 为 iframe 页面内的方法。
 

<html>

<head>

  <title></title>

  <script>

    $(function(){

        /*

          说明: iframeID 为iframe的ID;

          initPagerList 为 iframe 页面内的方法。

        */

        //调用iframe页面iframeID中的initPagerList方法

        $(window.parent.document).contents().find("#iframeID")[0].contentWindow.initPagerList();

        //获取iframe页面iframeID中的文本框txtControlID对象

        var txtControlObj=$(window.parent.document).contents().find("#iframeID")[0].contentWindow.$("#txtControlID");

        //为iframe页面iframeID中的文本框txtControlID赋值

        txtControlObj.val("我就是你需要设置的内容值!");

    });

  </script>

</head>

<body>

</body>

</html>

-----------------分割线-------------------------------

a>contentWindow 兼容各个浏览器,可取得子窗口的 window 对象。
b>contentDocument Firefox 支持,> ie8 的ie支持。可取得子窗口的 document 对象。

兼容获取document对象:
var getIFrameDoc = function(){
var iobj = document.createElement("iframe");
document.getElementsByTagName("body")[0].appendChild(iobj);
return iobj.contentDocument || iobj.contentWindow.document;
}

基本使用:
1)document.getElementById("myiframe").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了;
2)$("#myiframe")[0].contentWindow jquery选择器获得iframe,先把jquery对象转换为DOM对象,或者使用get()方法转换;
3)$("#myiframe")[0].contentWindow.$("#dd").val() 可以在得到iframe的window对象后接着使用jquery选择器进行页面操作;
4)$("#myiframe")[0].contentWindow.username="zhangsan"; 可以通过这种方式向iframe页面传递参数,在iframe页面window.username就可以获取到值,username是自定义的全局变量;
5)在iframe页面通过parent可以获得主页面的window,接着就可以正常访问父亲页面的元素了;
7)parent.$("#frame_A")[0].contentWindow.document.getElmentById("#frame_B"); 同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;

原文地址:https://www.cnblogs.com/yibinboy/p/3941190.html