The main difference between the two pages is the method of sending messages. Recieving messages is the same in both.
Send messages to iframe using iframeEl.contentWindow.postMessage
Recieve messages using window.addEventListener('message')
| // No Security | |
| { | |
| "rules": { | |
| ".read": true, | |
| ".write": true | |
| } | |
| } |
| # update | |
| sudo apt-get update | |
| sudo apt-get -qq update | |
| # Install kubectl | |
| sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl | |
| sudo chmod +x ./kubectl | |
| sudo mv ./kubectl /usr/local/bin/kubectl | |
| # Install kubectx (Switch between Kubernetes contexts/namespaces) |
| # Created by .ignore support plugin (hsz.mobi) | |
| ### Python template | |
| # Byte-compiled / optimized / DLL files | |
| __pycache__/ | |
| *.py[cod] | |
| *$py.class | |
| # C extensions | |
| *.so |
| # Makefile template for a shared library in C | |
| # https://www.topbug.net/blog/2019/10/28/makefile-template-for-a-shared-library-in-c-with-explanations/ | |
| CC = gcc # C compiler | |
| CFLAGS = -fPIC -Wall -Wextra -O2 -g # C flags | |
| LDFLAGS = -shared # linking flags | |
| RM = rm -f # rm command | |
| TARGET_LIB = libtarget.so # target lib | |
| SRCS = main.c src1.c src2.c # source files |
| // uses Apache commons CSV, IO and Lang | |
| import org.apache.commons.csv.CSVFormat; | |
| import org.apache.commons.csv.CSVParser; | |
| import org.apache.commons.csv.CSVPrinter; | |
| import org.apache.commons.io.FileUtils; | |
| import org.apache.commons.io.IOUtils; | |
| import java.io.*; | |
| import java.util.ArrayList; | |
| import java.util.List; |
| package; | |
| import flash.display.Graphics; | |
| import flash.display.Sprite; | |
| import flash.events.Event; | |
| import flash.events.KeyboardEvent; | |
| import flash.Lib; | |
| import flash.ui.Keyboard; | |
| import flash.Vector; |
| function go() { | |
| var userId = prompt('Username?', 'Guest'); | |
| checkIfUserExists(userId); | |
| } | |
| var USERS_LOCATION = 'https://SampleChat.firebaseIO-demo.com/users'; | |
| function userExistsCallback(userId, exists) { | |
| if (exists) { | |
| alert('user ' + userId + ' exists!'); |
Attach the script to a go containing the camera and send a message to that script with four parameters:
x = amount of shake in x-directiony = amount of shake in y-directiontime = duration of shake in secondsspeed = shakes per second - lower number means faster shakingTo try it out you can simply hot reload the script and it will initiate a shake immediately.
| /** @jsx React.DOM */ | |
| var AppRouteTarget = { | |
| setupLayout: function () { | |
| React.renderComponent({ | |
| <App className='page-content'>, | |
| document.querySelector('body') | |
| }); | |
| } | |
| }; |