34 lines
1.1 KiB
CoffeeScript
34 lines
1.1 KiB
CoffeeScript
values = {}
|
|
|
|
$(document).ready ->
|
|
# Import application/init variables
|
|
$("script[type='application/init']").each ->
|
|
try
|
|
tmp = JSON.parse $(this).text()
|
|
for k of tmp
|
|
values[k] = tmp[k]
|
|
#console.log 'values=', values[k]
|
|
catch e
|
|
console.log 'Parsing error', e
|
|
# Initialize JS communication channel
|
|
window.addEventListener "message", (e) ->
|
|
message = e.data
|
|
console.log 'message=', message
|
|
client_id = decodeURIComponent message.split(' ')[0]
|
|
#console.log 'client_id=', client_id
|
|
session_state = decodeURIComponent message.split(' ')[1]
|
|
#console.log 'session_state=', session_state
|
|
salt = decodeURIComponent session_state.split('.')[1]
|
|
#console.log 'salt=', salt
|
|
# hash ??????
|
|
#ss = hash.toString(CryptoJS.enc.Base64) + '.' + salt
|
|
ss = btoa(client_id + ' ' + e.origin + ' ' + salt) + '.' + salt
|
|
#word = CryptoJS.enc.Utf8.parse(client_id + ' ' + e.origin + ' ' + salt)
|
|
#ss = CryptoJS.enc.Base64.stringify(word) + '.' + salt
|
|
if session_state == ss
|
|
stat = 'unchanged'
|
|
else
|
|
stat = 'changed'
|
|
e.source.postMessage stat, e.origin
|
|
, false
|