1.0.4 • Published 4 years ago

bifrost-cors v1.0.4

Weekly downloads
10
License
ISC
Repository
github
Last release
4 years ago

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)	
ParameterRequiredValue
addressYESExact Address of the other domain
iframeBooleanNotrue :- If you already rendering the other domain in iframe false If you are not rendering the other domain in iframe Default false
iframeIdNoif 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
    	```javascript
    // return type Object, return all cookies bifrostCors.getCookie() // return type string bifrostCors.getCookie("key")
    
    * __Set Cookies__
    		```javascript
    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

    	```javascript

    // return type stirng bifrostCors.getgetLocalStorage("key")

    // return type array bifrostCors.getLocalStorage("key1","key2")

    
    * __Set local Storage__
    		```javascript
    // return type Boolean
    bifrostCors.setLocalStorage({key: "user", value: "user-1"}) 
    • Delete local Storage

      		```javascript

      // return type Boolean bifrostCors.deleteLocalStorage("key")

      // return type Boolean bifrostCors.deleteLocalStorage("key1","key2")

  • Bi-directional message thread * Request Message Thread

    	```javascript

    // 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
    
    ```javascript
    function myCustomListner(newMessage){
    	cosnole.log("Hurray I got new message ",newMessage)
    }
    
    bifrostCors.requestMessageThread(myCustomListner)
    • Send Message
      		```javascript
      // return type Boolean, parameter type string|int|array|object bifrostCors.send(message)
  • Run JS expression
    	```javascript
    // return type Boolean, parameter type string bifrostCors.runExpression(expression)
  • DOM Manipulation * DOM Manipulation by ID
    	```javascript
    // return type Boolean, parameter type string bifrostCors.domManipulationById("yourElementID")
    * __DOM Manipulation by class name__
    		```javascript
    // 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"}