Hi Egor,
I managed to do that in the browser (Chrome), but when I tested it in Appery tester and after I generated the apk, it is not working.
This is my code on click:
prevar username = localStorage.getItem("username");
var password = localStorage.getItem("password");
var language = localStorage.getItem("lang");
var credentials = username+'-'+password;
var msg = language+':'+username+'-'+password;
var loginWindow = window.open('https://jtipartner.com.my/jdev', '_blank', 'location=yes');
//loginWindow.postMessage('username', 'https://jtipartner.com.my/jdev');
function giveMeUsername(){
loginWindow.postMessage(msg, 'https://jtipartner.com.my/jdev');
}
window.addEventListener('message', function(event) {
var message = event.data;
if(message == 'giveMeUsername'){
giveMeUsername();
}
}, false);
/pre
On the website side, I've added
preaddScriptDeclaration("
console.log('message received1: ');
window.onload = function(){
window.opener.postMessage('giveMeUsername', '*');
console.log('message received2: ');
};
function GetSubstringIndex(str, substring, n) {
var times = 0, index = null;
Code: Select all
while (times < n && index !== -1) {
index = str.indexOf(substring, index+1);
times++;
}
return index;
}
Code: Select all
window.addEventListener('message', function(event) {
console.log('message received3: ');
//if(event.origin !== 'http://appery.io') return;
var message = event.data;
console.log('message received5: '+message);
//var username = message.substr(0, message.indexOf('-'));
var lang = message.slice(0,2);
var username = message.substring(message.lastIndexOf(':')+1,message.lastIndexOf('-'));
var password = message.substr(message.indexOf('-') + 1);
jQuery('input#username').val(username);
jQuery('input#password').val(password);
document.getElementById('loginbtn').click();
var x = document.getElementById('loginbtn').name;
console.log('message received6: '+ x);
}, false);
");
$document-addScriptDeclaration("
console.log('message received6: ');
");
?/pre
This is working very fine on the browser. It opens new window, and it populates the username and passwords in their fields. On the device, nothing occurs!
Thank you for your help!