zoukankan      html  css  js  c++  java
  • JS window.name跨域封装

    JS window.name 跨域封装

     1 function CrossDomainName(target, agent, callback, security) {
     2     if (typeof target !== 'string' || typeof agent !== 'string' || typeof callback !== 'function') {
     3         throw '参数错误';
     4     }
     5     this.state = 0;
     6     this.target = target;//目标路径
     7     this.agent = agent;//代理文件
     8     this.callback = callback || Function;//回调函数
     9     this.security = security || true;
    10     this.iframe = document.createElement('iframe');
    11     var self = this;
    12     function onload() {
    13         if (self.state === 1) {
    14             var data = self.iframe.contentWindow.name;
    15             self.callback.call(self.iframe, data);
    16             if (self) {
    17                 self.iframe.contentWindow.document.close();//关闭文档流
    18                 self.iframe.contentWindow.close();//关闭Iframe
    19                 document.body.removeChild(self.iframe);//移除Iframe
    20             }
    21         } else if (self.state === 0) {
    22             self.state = 1;
    23             self.iframe.contentWindow.location = self.agent;
    24         }
    25     }
    26     if (document.attachEvent) {
    27         this.iframe.attachEvent('onload', onload);
    28     } else if (document.addEventListener) {
    29         this.iframe.addEventListener('load', onload, false);
    30     } else {
    31         this.iframe.onload = onload;
    32     }
    33     this.iframe.src = this.target;
    34     document.body.appendChild(this.iframe);
    35 }
    36 //调用
    37 new CrossDomainName('http://www.kingwell.com/kingwell.html', 'http://name.b.com/adfas.html', function (data) {
    38     alert(data);
    39 });
  • 相关阅读:
    4单元练习
    3单元C#练习(重复太多,差别着写)
    ===习题
    .NET预习
    NET_.NET深入体验与实践精要----第四章
    NET 第一章
    C#认证考试试题汇编 Test
    _.NET深入体验与实战精要.pdf第四章
    C# 练习
    .NET 学习
  • 原文地址:https://www.cnblogs.com/kingwell/p/3241353.html
Copyright © 2011-2022 走看看