Last active

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Portabilitate Bookmarklet - Verifica in ce retea suni

View portabilitate-bookmarklet.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
//javascript:
(function () {
var bookmarklet = {
init: function () {
// Impotriva site-urilor malefice care strica dev tools (OLX.ro)
delete window.console;
// Exista selectie facuta de utilizator pe pagina?
var sel = (window.getSelection().toString()) ? window.getSelection() : null,
// Preia numarul din selectia facuta de utilizator pe pagina
number = window.getSelection().toString().replace(/\D/g, ''),
// Tag-ul care va tine raspunsul cu reteaua curenta
node = document.createElement('mark'),
manual = false;
// Utilizatorul nu a selectat nimic, preia numarul printr-un alertbox
if (!number) {
manual = true;
number = prompt('Afla daca urmatorul numar e portat:\n', 'ex. 07xx xxx xx xx').replace(/\D/g, '');
}
function loadPo() {
// Afiseaza in consola ce cautare a inceput
console.info((sel || number) + ' e portat?...');
// Defineste stilul raspunsului
node.class = 'portabilitate';
node.style.margin = '0 4px';
node.style.padding = '0 8px';
// Ce placeholder sa apara pana se incarca
node.appendChild(document.createTextNode('?...'));
// Insereaza raspunsul dupa selectia facuta de utilizator
var range;
if (sel && sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.collapse(false);
range.insertNode(node);
}
}
function showPo() {
if ($.Po) {
// Afiseaza rezultatul cautarii in consola si alertbox
var r = ($.Po.portat) ? 'Da. ' : 'Nu. ',
msg = r + 'E in ' + $.Po.reteaCurenta + '.\n\n';
console.info(msg);
if (manual) { alert(msg); }
// Afiseaza rezultatul in dreptul selectiei
node.textContent = $.Po.reteaCurenta;
// Simbolizeaza ca e numarul e portat
if ($.Po.portat) { node.style.color = 'red'; }
}
}
$.ajax({
'url': 'https://www.kimonolabs.com/api/ondemand/3qedifzg?apikey=6cadc0eb7510a0a655c4f98927819c15&number=' + number + '&callback=kimonoCallback',
'crossDomain': true,
'dataType': 'jsonp',
beforeSend: function () {
loadPo();
},
complete: function () {
showPo();
}
});
}
};
// Incarca jQuery in pagina
var jq = document.createElement('script');
jq.async = true;
jq.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
jq.onload = bookmarklet.init;
document.body.appendChild(jq);
}());
 
function kimonoCallback(data) {
// please make sure the scope of this function is global
// Creaza obiectul cu rezultatele cautarii
$.Po = data.results.Portabilitate[0];
// Daca nu exista da eroare si arata raspunsul crud
if (jQuery.isEmptyObject($.Po)) {
$.Po = false;
console.error('Sorry. The number you have dialed is not in service', data);
return;
}
// Schimba textul cu este/nu este portat in true si false
$.Po.portat = (!$.Po.portat.match(' nu ')) ? true : false;
// Pregateste reteaua curenta pentru afisare
switch ($.Po.reteaCurenta) {
case 'VODAFONE ROMANIA':
$.Po.reteaCurenta = 'Vodafone';
break;
case 'ORANGE ROMANIA':
$.Po.reteaCurenta = 'Orange';
break;
case 'TELEKOM ROMANIA MOBILE (COSMOTE)':
$.Po.reteaCurenta = 'Telekom Mobil';
break;
case 'TELEMOBIL':
$.Po.reteaCurenta = 'ZAPP';
break;
case 'TELEKOM ROMANIA (ROMTELECOM)':
$.Po.reteaCurenta = 'Telekom Fix';
break;
case 'RCS & RDS':
$.Po.reteaCurenta = 'RDS';
break;
case 'UPC ROMANIA':
$.Po.reteaCurenta = 'UPC';
break;
}
}
Owner

Instalare

Copiază textul fișierului portabilitate-bookmarklet.min.js și pune-l în câmpul URL când creezi un nou bookmark.

Folosire

Selectează un număr (fără prefixul de țară) și dă clic pe bookmarklet. Operatorul de telefonie la care e numărul respectiv o să apară în dreptul selecției.

Dependențe

  • Datele provin de pe pagini portabilitate.ro. De exemplu:

http://portabilitate.ro/NumberSearch.aspx?lang=ro&number=07123457890

  • Sunt prelucrate cu kimono. De exemplu:

https://www.kimonolabs.com/api/ondemand/3qedifzg?apikey=6cadc0eb7510a0a655c4f98927819c15&number=071234567890&callback=kimonoCallback

  • jQuery, de pe servere Google
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.