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')
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> | |
<title>WebKit contentEditable focus bug workaround</title> | |
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.js'></script> | |
<script type='text/javascript'> | |
//<![CDATA[ | |
$(function(){ |
.box { | |
padding: 5px; | |
background: red; | |
margin: 10px; | |
position:relative; | |
z-index: 3; | |
} | |
.drag-target { | |
background: blue; | |
z-index: 1; |
nssm install SeleniumHub java -jar C:\Selenium\selenium-server-standalone-2.48.2.jar -role hub | |
nssm start SeleniumHub | |
nssm install SeleniumNode1 java -jar C:\Selenium\selenium-server-standalone-2.48.2.jar -role node -hub http://localhost:4444/grid/register -Dwebdriver.chrome.driver=C:\Selenium\chromedriver.exe | |
nssm set SeleniumNode1 DependOnService SeleniumHub | |
nssm start SeleniumNode1 | |
nssm install SeleniumNode2 java -jar C:\Selenium\selenium-server-standalone-2.48.2.jar -role node -hub http://localhost:4444/grid/register -Dwebdriver.chrome.driver=C:\Selenium\chromedriver.exe | |
nssm set SeleniumNode2 DependOnService SeleniumHub | |
nssm start SeleniumNode2 |
import { ElementRef, Directive, HostListener, Renderer } from 'angular2/core'; | |
import { Subject } from 'rxjs'; | |
@Directive({ | |
selector: '[draggable]' | |
}) | |
export class Draggable { | |
mousedrag; | |
mouseup = new Subject(); | |
mousedown = new Subject(); |
var path = require('path'); | |
var useDefaultConfig = require('@ionic/app-scripts/config/webpack.config.js'); | |
var procEnv = process.env.IONIC_ENV; | |
module.exports = function () { | |
useDefaultConfig[procEnv].resolve.alias = { | |
"@app/env": path.resolve('./src/environments/environment' + (process.env.IONIC_ENV === 'prod' ? '' : '.' + process.env.IONIC_ENV) + '.ts') | |
}; |
Step 1 : Get the phone number through input from the user.
Step 2 : Pass this phone number to the firebase and receive a callback with verification ID.
Step 3 : Pass on this verification ID through navParams
to the next page where the user will enter the OTP sent to the entered mobile number.
Step 4 : Verify the OTP that is sent with firebase for success()
or failure()
.
phone-verification.html
{ | |
"banksnapas": [ | |
{ | |
"en_name": "An Binh Commercial Joint stock Bank", | |
"vn_name": "Ngân hàng An Bình", | |
"bankId": "970425", | |
"atmBin": "970425", | |
"cardLength": 16, | |
"shortName": "ABBank", | |
"bankCode": "323", |
File->Preferences->Settings
terminal.integrated.scrollback
, Increase the buffer size for terminal (i use 100000)
File->Prefernces->Keyboard shortcuts
workbench.action.terminal.runSelectedText
set up some binding like Ctrl+Shift+'
Open terminal window: Terminal->New Terminal
Run clickhouse-client in a terminal.