Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Portabilitate Bookmarklet - Verifica in ce retea suni
//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;
}
}
javascript:(function(){var bookmarklet={init:function(){delete window.console;var sel=window.getSelection().toString()?window.getSelection():null,number=window.getSelection().toString().replace(/\D/g,""),node=document.createElement("mark"),manual=false;if(!number){manual=true;number=prompt("Afla daca urmatorul numar e portat:\n","ex. 07xx xxx xx xx").replace(/\D/g,"")}function loadPo(){console.info((sel||number)+" e portat?...");node.class="portabilitate";node.style.margin="0 4px";node.style.padding="0 8px";node.appendChild(document.createTextNode("?..."));var range;if(sel&&sel.getRangeAt&&sel.rangeCount){range=sel.getRangeAt(0);range.collapse(false);range.insertNode(node)}}function showPo(){if($.Po){var r=$.Po.portat?"Da. ":"Nu. ",msg=r+"E in "+$.Po.reteaCurenta+".\n\n";console.info(msg);if(manual){alert(msg)}node.textContent=$.Po.reteaCurenta;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()}})}};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){$.Po=data.results.Portabilitate[0];if(jQuery.isEmptyObject($.Po)){$.Po=false;console.error("Sorry. The number you have dialed is not in service",data);return}$.Po.portat=!$.Po.portat.match(" nu ")?true:false;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}}
@akaleeroy
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.