New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

inframejs

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inframejs - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

37

dist/inframejs.es.min.js
/*!
name: iframeBridge
version: 1.0.5
version: 1.1.2
file: inframejs.min.js
author: web.szy
buildTime: 2022/2/16 下午3:55:29
buildTime: 2022/2/17 下午1:51:36
*/
const version = "1.0.5";
const version = "1.1.2";
const Inframe = class {

@@ -78,18 +78,23 @@ constructor({ target, whiteList, libName, debug, isSubPage, isNewWindow } = {}) {

this.logger(`${eventName} has been emit::${JSON.stringify(msg)}`);
if (this.isConneted) {
if (this.isSubPage) {
if (this.isNewWindow) {
window.opener.postMessage(msg, "*");
try {
if (this.isConneted) {
if (this.isSubPage) {
if (this.isNewWindow) {
window.opener.postMessage(msg, "*");
} else {
window.parent.postMessage(msg, "*");
}
} else {
window.parent.postMessage(msg, "*");
if (this.isNewWindow) {
this.target.postMessage(msg, "*");
} else {
this.target.contentWindow.postMessage(msg, "*");
}
}
} else {
if (this.isNewWindow) {
this.target.postMessage(msg, "*");
} else {
this.target.contentWindow.postMessage(msg, "*");
}
this.emitCache.push({ eventName, data });
}
} else {
this.emitCache.push({ eventName, data });
} catch (e) {
this.logger(e.message);
this.destroy();
}

@@ -102,3 +107,3 @@ }

if (this.whiteList.length) {
const checked = this.whiteList.some((domain) => ~domain.indexOf(e.origin));
const checked = this.whiteList.some((domain) => domain.indexOf(e.origin) > -1);
if (!checked) {

@@ -105,0 +110,0 @@ console.warn("you are not access to inframe");

/*!
name: iframeBridge
version: 1.0.5
version: 1.1.2
file: inframejs.min.js
author: web.szy
buildTime: 2022/2/16 下午3:55:29
buildTime: 2022/2/17 下午1:51:36
*/
(function(n,h){typeof exports=="object"&&typeof module!="undefined"?module.exports=h():typeof define=="function"&&define.amd?define(h):(n=typeof globalThis!="undefined"?globalThis:n||self,n.inframejs=h())})(this,function(){"use strict";const n="1.0.5";return class{constructor({target:e,whiteList:s,libName:t,debug:i,isSubPage:o,isNewWindow:r}={}){return this.setTarget(e),this.setLibName(t),typeof s!="undefined"&&!Array.isArray(s)?(console.warn("whiteList must be a domain Array"),!1):(this.isNewWindow=r,this.whiteList=(s||[]).filter(a=>typeof a=="string").map(a=>a.toLowerCase()),this.debug=!!i,this.isSubPage=typeof o=="undefined"?!0:o,this.isConneted=this.isSubPage,this.version=n,this.handlersMap=new Map,this.emitCache=[],window?(window.getInframeInstace=()=>this,window.addEventListener("message",this.handleEvent.bind(this)),this.isSubPage?(this.emit("connected","sub Page connected"),console.log("sub instance",this)):this.on("connected",()=>{this.isConneted=!0,this.emitCache.forEach(({eventName:a,data:d})=>this.emit(a,d)),this.emitCache=[]}),this):(console.warn("inframe bridge must init on the browser"),!1))}setTarget(e){typeof e=="string"?this.target=document.querySelector(e):typeof e!="undefined"?this.target=e:this.target=null}setLibName(e){this.libName=e||"inframe"}on(e,s){if(this.logger(`${e} has been watched`),this.handlersMap.has(e)){const t=this.handlersMap.get(e);t.push(s),this.handlersMap.set(e,t)}else this.handlersMap.set(e,[s])}off(e){this.handlersMap.has(e)&&this.handlersMap.delete(e)}emit(e,s){const t={event:e,params:s,lib:this.libName,isSubPage:this.isSubPage};this.logger(`${e} has been emit::${JSON.stringify(t)}`),this.isConneted?this.isSubPage?this.isNewWindow?window.opener.postMessage(t,"*"):window.parent.postMessage(t,"*"):this.isNewWindow?this.target.postMessage(t,"*"):this.target.contentWindow.postMessage(t,"*"):this.emitCache.push({eventName:e,data:s})}handleEvent(e){if(!e||typeof e.data!="object"||!(e.data.lib&&e.data.lib===this.libName)||this.isSubPage===e.data.isSubPage)return;if(this.whiteList.length&&!this.whiteList.some(i=>~i.indexOf(e.origin))){console.warn("you are not access to inframe");return}const{data:s}=e;this.handlersMap.has(s.event)?(this.logger(`received data: ${JSON.stringify(s)}`),this.handlersMap.get(s.event).forEach(i=>i(s))):this.logger(`handlers not find: ${JSON.stringify(s)}`)}destroy(){this.handlersMap.clear(),window.getInframeInstace=null,window.removeEventListener("message",this.handleEvent)}logger(e){if(!this.debug)return;const s=new Date,t=`${s.getHours()}:${s.getMinutes()}:${s.getSeconds()}`,i=this.isSubPage?"\u5B50\u9875\u9762":"\u4E3B\u9875\u9762";console.log(`${t}-${i}::${e}`)}}});
(function(n,h){typeof exports=="object"&&typeof module!="undefined"?module.exports=h():typeof define=="function"&&define.amd?define(h):(n=typeof globalThis!="undefined"?globalThis:n||self,n.inframejs=h())})(this,function(){"use strict";const n="1.1.2";return class{constructor({target:e,whiteList:s,libName:t,debug:i,isSubPage:o,isNewWindow:r}={}){return this.setTarget(e),this.setLibName(t),typeof s!="undefined"&&!Array.isArray(s)?(console.warn("whiteList must be a domain Array"),!1):(this.isNewWindow=r,this.whiteList=(s||[]).filter(a=>typeof a=="string").map(a=>a.toLowerCase()),this.debug=!!i,this.isSubPage=typeof o=="undefined"?!0:o,this.isConneted=this.isSubPage,this.version=n,this.handlersMap=new Map,this.emitCache=[],window?(window.getInframeInstace=()=>this,window.addEventListener("message",this.handleEvent.bind(this)),this.isSubPage?(this.emit("connected","sub Page connected"),console.log("sub instance",this)):this.on("connected",()=>{this.isConneted=!0,this.emitCache.forEach(({eventName:a,data:d})=>this.emit(a,d)),this.emitCache=[]}),this):(console.warn("inframe bridge must init on the browser"),!1))}setTarget(e){typeof e=="string"?this.target=document.querySelector(e):typeof e!="undefined"?this.target=e:this.target=null}setLibName(e){this.libName=e||"inframe"}on(e,s){if(this.logger(`${e} has been watched`),this.handlersMap.has(e)){const t=this.handlersMap.get(e);t.push(s),this.handlersMap.set(e,t)}else this.handlersMap.set(e,[s])}off(e){this.handlersMap.has(e)&&this.handlersMap.delete(e)}emit(e,s){const t={event:e,params:s,lib:this.libName,isSubPage:this.isSubPage};this.logger(`${e} has been emit::${JSON.stringify(t)}`);try{this.isConneted?this.isSubPage?this.isNewWindow?window.opener.postMessage(t,"*"):window.parent.postMessage(t,"*"):this.isNewWindow?this.target.postMessage(t,"*"):this.target.contentWindow.postMessage(t,"*"):this.emitCache.push({eventName:e,data:s})}catch(i){this.logger(i.message),this.destroy()}}handleEvent(e){if(!e||typeof e.data!="object"||!(e.data.lib&&e.data.lib===this.libName)||this.isSubPage===e.data.isSubPage)return;if(this.whiteList.length&&!this.whiteList.some(i=>i.indexOf(e.origin)>-1)){console.warn("you are not access to inframe");return}const{data:s}=e;this.handlersMap.has(s.event)?(this.logger(`received data: ${JSON.stringify(s)}`),this.handlersMap.get(s.event).forEach(i=>i(s))):this.logger(`handlers not find: ${JSON.stringify(s)}`)}destroy(){this.handlersMap.clear(),window.getInframeInstace=null,window.removeEventListener("message",this.handleEvent)}logger(e){if(!this.debug)return;const s=new Date,t=`${s.getHours()}:${s.getMinutes()}:${s.getSeconds()}`,i=this.isSubPage?"\u5B50\u9875\u9762":"\u4E3B\u9875\u9762";console.log(`${t}-${i}::${e}`)}}});
{
"name": "inframejs",
"version": "1.1.1",
"version": "1.1.2",
"description": "use pure Javascript to connect the iframe pages",
"main": "dist/inframejs.es.min.js",
"main": "src/index.js",
"module": "dist/inframejs.es.min.js",
"scripts": {
"dev": "vite dev",
"build": "vite build --config build.js"
"build": "vite build --config build.js",
"pub":"npm run build && npm publish"
},

@@ -10,0 +12,0 @@ "repository": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc