1.0.4 • Published 5 years ago
bifrost-cors v1.0.4
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
Get, Set Cookie
Get, Set & Delete Local Stroage
Bi-directional message thread
Run JS expression from one domain to other
DOM Manipulation from one domain to other domain ( Iframe )
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")```javascript
* __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
- Parameter
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
// return type Boolean, parameter type string|int|array|object bifrostCors.send(message)```javascript
- Send Message
- Run JS expression
// return type Boolean, parameter type string bifrostCors.runExpression(expression)```javascript
- DOM Manipulation
* DOM Manipulation by ID
// return type Boolean, parameter type string bifrostCors.domManipulationById("yourElementID")```javascript
* __DOM Manipulation by class name__ ```javascript // return type Boolean, parameter type string,int,Objet bifrostCors.domManipulationById(class,index,style)
class String your element class name index int index no of that element in class array * style Object Style object* Parameter
- Example:a
if you can access element by
document.getElementsByClassName("myElementClass)[4]
so parameter will be class "myElementClass" index 4 * style {background:"red"}
- Example:a
if you can access element by