Iframe跨域获取父页面URL参数

 

a.html?name="abc"

<script>
        function getJsUrl(){
       var pos,str,para,parastr; 
       var array =[]
       str = document.referrer; 
       parastr = str.split("?")[1]; 
       var arr = parastr.split("&");
       for (var i=0;i<arr.length;i++){
        array[arr[i].split("=")[0]]=arr[i].split("=")[1];
           }
       return array;
        }
     var req = getJsUrl();
        alert(req["name"]); 
</script>

JQuery


1. jquery 在iframe子页面获取父页面元素代码如下:


   $("#id", parent.document)    //获取父页面 $("#id")的元素


2. jquery在父页面 获取iframe子页面的元素


   $("#id",document.frames('iframename').document)   //获取子页面$("#id")的元素

JS


3.js 在iframe子页面获取父页面元素代码如下:


  window.parent.document.getElementById("元素id");




4.js 在父页面获取iframe子页面元素代码如下:


  window.frames["iframe_ID"].document.getElementById("元素id");




5、js在父窗口获取子窗口的window


   $("#testiframe")[0].contentWindow == document.getElementById("testiframe").contentWindow == window.frames[0]


   以上三种都可以获取子窗口的window




6.子类iframe内调用父类函数:


  window.parent.func();


7.父类iframe内调用子类函数:


  document.getElementById(子窗口 ifram 元素的ID值).contentWindow.子窗口中的方法()

 

 

1、jquery操作iframe中的元素(2种方式)

var tha = $(window.frames["core_content"].document).find("#trewuuu").html();

var thb = $("#core_content").contents().find("#trewuuu").html();

2、操作父界面中的元素(header:为某个元素的id)

$('#header', parent.document).text()

3、js调用iframe中的js函数(2种)

window.frames["core_content"].window.testIframe2("11");

document.getElementById("core_content").contentWindow.testIframe2("11");

4、jquery调用iframe的js函数(带参数的会有返回值)

$("#core_content")[0].contentWindow.testIframe2("11");

注意事项:

要和所包含的iframe在同一个域名(因为不能跨域)。

 

 

1,子iframe内调用父类函数方法:

window.parent.func();

 

2,子Iframe中获取父界面的元素:

$("#xx", window.parent.document);

这个xx就是父界面中要获取的元素的ID。

 

3,jquery 调用子iframe页面中js的方法:

 iframefunction()是子页面的方法

  $(window.parent.document).contents().find("#iframename")[0].contentWindow.iframefunction(); 
posted @ 2022-07-07 17:13  qingjiawen  阅读(4250)  评论(0编辑  收藏  举报