A cross-domain communication solution to share data and many more functionalities with simple as just calling a method.
npm install bifrost-cors
All above methods are wrapped in a promise.
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 |
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)
}-
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"}
