v = v.replace(/,/g, '.');
v = v.replace(/[^\.0-9]/g, '');
if(v.match(/\.\d{3,}/)) {
v = v.substr(0, v.indexOf('.') + 3);
}
site.ru/oauth/vk#code=123
поэтому приходится его вытаскивать JavaScript'ом:$(function() {
if(window.location.hash) {
var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
$.post(
'<?php echo $tokenUrl; ?>',
{hash: hash},
function( data){
if( data == 'OK') {
// token saved, notify the app iframe, and close this window
$('#codemsg').text('Токен сохранён. Это окно можно закрыть.');
self.opener.tokenSaved();
window.setTimeout("self.close();",4000);
} else {
// post error, token not saved
$('#codemsg').text('токен НЕ сохранён. ' + data);
self.opener.tokenFailed();
}
}
);
} else {
// No hash found
}
});
postMessage()
, поскольку на одном домене, просто вызывается глобальный метод родительского окна: self.opener.methodName()