spurushottam13 / bifrost-cors

JS library for cross-domain communication solution to share data and many more functionalities with simple as just calling a method

Home Page:https://www.npmjs.com/package/bifrost-cors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bifrost-CORS

A cross-domain communication solution to share data and many more functionalities with simple as just calling a method.

Get Started

NPM Install

npm install bifrost-cors

CDN Link (6.39KB)

https://cdn.jsdelivr.net/gh/spurushottam13/bifrost-cors/index.min.js

GZIP version of File (1.7KB)

https://cdn.jsdelivr.net/gh/spurushottam13/bifrost-cors/index.min.gz

Functionalities can be performed on CROS Domain


All above methods are wrapped in a promise.


Initialize Bifrost-CORS You have to Initialize Bifrost-CORS in both domain
var bifrostCors = new bifrostCors(address, iframeBoolean,iframeId)	
Parameter Required Value
address YES Exact Address of the other domain
iframeBoolean No true :- If you already rendering the other domain in iframe
false If you are not rendering the other domain in iframe
Default false
iframeId No if iframeBoolean is set to true then you need to pass the ID for your Iframe in which you loading the other domain

Implementation of methods and how to handle promise
var bifrostCors = new bifrostCors("http://example.com/",false)

//Calling Methods without promise
var result = bifrostCors.getLocalStorage(key)

//Hanlde Promise

//1. Using .then()
bifrostCors.getLocalStorage(key).then((data) => {
	console.log(data)
 })

//2. Using async function
async function grabLocalStorage(){
	let result = await  bifrostCors.getLocalStorage(key)
}

Functionalities

  • Cookies

    • Get Cookies
     // return type Object, return all cookies
     bifrostCors.getCookie() 
     
    // return type string
    bifrostCors.getCookie("key")
    • Set Cookies
     bifrostCors.setCookie(name,value,days)   
    • Parameter

      • name String, name for cookie
      • value String, value for cookie
      • days int, expiration days for cookie
    • return type Boolean

  • LocalStorage

    • Get local Storage
     // return type stirng
     bifrostCors.getgetLocalStorage("key") 
     
     // return type array
     bifrostCors.getLocalStorage(["key1","key2"])
    • Set local Storage
     // return type Boolean
     bifrostCors.setLocalStorage({key: "user", value: "user-1"}) 
    • Delete local Storage
     // return type Boolean
     bifrostCors.deleteLocalStorage("key") 
     
     // return type Boolean
     bifrostCors.deleteLocalStorage(["key1","key2"])
  • Bi-directional message thread

    • Request Message Thread
     // return type Boolean, parameter type funtion
     bifrostCors.requestMessageThread(Listner)

    Listner is your custom function which will be invoked every time new message recivied, and it should expect a new message as a parameter

    Here's exapmle

    function myCustomListner(newMessage){
    	cosnole.log("Hurray I got new message ",newMessage)
     }
     
     bifrostCors.requestMessageThread(myCustomListner)
    • Send Message
     // return type Boolean, parameter type string|int|array|object
     bifrostCors.send(message)
  • Run JS expression

     // return type Boolean, parameter type string
     bifrostCors.runExpression(expression)
  • DOM Manipulation

    • DOM Manipulation by ID
     // return type Boolean, parameter type string
     bifrostCors.domManipulationById("yourElementID")
    • DOM Manipulation by class name
     // return type Boolean, parameter type string,int,Objet
     bifrostCors.domManipulationById(class,index,style)
    • Parameter

      • class String your element class name
      • index int index no of that element in class array
      • style Object Style object
    • Example:a if you can access element by document.getElementsByClassName("myElementClass)[4]
      so parameter will be

      • class "myElementClass"
      • index 4
      • style {background:"red"}

About

JS library for cross-domain communication solution to share data and many more functionalities with simple as just calling a method

https://www.npmjs.com/package/bifrost-cors


Languages

Language:JavaScript 100.0%