From 123962d4320bfe827e90aa031aa9964946cbc238 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 3 Jan 2020 01:12:39 -0500 Subject: General clean-ups for the new workarounds extension * data/extensions/gnuzilla-ext-workarounds@gnu.org/jquery-3.4.1.min.js: Remove, since it's a duplicate and not needed. * data/extensions/gnuzilla-ext-workarounds@gnu.org/manifest.json: Re-indent, remove "jquery-3.4.1.min.js" from content_scripts js files: as far as I see, it's not used in any of the workaround files, and is only used in html/domestic.html; but html/ already has a copy of it. So there's no point in keeping a second copy around and injecting it to the matched urls along with the other workaround scripts. * data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.html: Update the extension name here to match the manifest. * data/extensions/gnuzilla-ext-workarounds@gnu.org/README~, data/extensions/gnuzilla-ext-workarounds@gnu.org/background.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.html~, data/extensions/gnuzilla-ext-workarounds@gnu.org/html/domestic.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/html/usps_postage.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/jquery-3.4.1.min.js, data/extensions/gnuzilla-ext-workarounds@gnu.org/manifest.json~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~, data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~: Remove auto-created backup files. --- .../workaround/googledocs_main.js~ | 122 ---------------- .../workaround/goteo_main.js~ | 122 ---------------- .../workaround/mcdonalds_wifi.js~ | 76 ---------- .../workaround/paygov_main.js~ | 150 ------------------- .../workaround/rsf_main.js~ | 44 ------ .../workaround/sumofus_main.js~ | 159 --------------------- 6 files changed, 673 deletions(-) delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~ delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~ delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~ delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~ delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~ delete mode 100644 data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ (limited to 'data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround') diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~ deleted file mode 100644 index 127aba6..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/googledocs_main.js~ +++ /dev/null @@ -1,122 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ -if(document.location.href.indexOf("docs.google.com") != -1){ - console.log("googledocs_main.js"); - function parseURL(a){ - let url = new URL(a); - var result = Object.create(null); - for(let i of url.searchParams) { - result[i[0]] = i[1]; - } - return JSON.stringify(result, undefined, 4); - } - var id; - var url; - function form_check(){ - console.log("boop"); - var format = ""; - var input = document.getElementsByTagName("input"); - if(input[input.length-1].value != "Expected 3 letter file extension"){ - format = input[input.length-1].value; - } else{ - for(var i = 0; i < input.length-1; i++){ - if(input[i].value != ""){ - format = input[i].value; - break; - } - } - if(format == ""){ - return 0; - } - } - - // Supposed to look like this: - // https://docs.google.com/document/export?format=FORMAT&id=ID - // Thanks to Alyssa Rosenzweig. - var new_url = 'https://docs.google.com/document/export?format='+format+'&id='+id; - document.location.assign(new_url); - return 0; - } - - - var contains_apostrophe = "You don't really want to store your data in a cloudy service do you?"; - var opts_form = - '
'+ - '

Google Drive without non-free Javascript

'+ - ' '+contains_apostrophe+'


'+ - '
'+ - ' Please select the format to download in:

'+ - ' Plain text ("txt")
'+ - ' ODT ("odt")

'+ - ' Or try to get the document in a different format, '+ - ' ("png", "avi", "pdf", etc..):

'+ - '

'+ - '
'+ - ''+ - ''+ - ''; - - // see if its a document or not. - function check_valid(){ - id = "no ID found."; - var url_arr = document.location.href.split("/"); - for(var i = 0; i < url_arr.length-1; i++){ - if(url_arr[i] == "d"){ - id = url_arr[i+1]; - break; - } - if(url_arr[i].indexOf("id=") != -1){ - id = document.location.href.substring(url_arr[i].indexOf("id=")+3,document.location.href.length); - break; - } - } - console.log(id); - if(id == "no ID found."){ - // do nothing because it could be an info page or something - console.log("no id found."); - return false; - } - else { - return true; - } - } - - - - function main(){ - - if(check_valid()){ - console.log("---------------------------------"+Date.now()+":Detected Google Drive."+"---------------------------------"); - window.stop(); - document.head.innerHTML = ""; - document.body.innerHTML = opts_form; - document.body.style.textAlign = "center"; - document.getElementById("opts").style.textAlign = "left"; - //document.getElementsById("opts").style.float = "left"; - document.body.style.marginTop = "2%" - document.body.style.marginLeft = "25%" - document.body.style.marginRight = "25%" - document.getElementById("submit").addEventListener("click",form_check); - } - return 0; - } - main(); -} diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~ deleted file mode 100644 index 56820fe..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/goteo_main.js~ +++ /dev/null @@ -1,122 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ -if(document.location.href.indexOf("pgw.ceca.es") != -1 - || document.location.href.indexOf("goteo.org") != -1 - || document.location.href.indexOf("sis.sermepa.es") != -1 - ){ - console.log("goteo_main.js"); - function update_currency(){ - var curr = document.getElementById("currency_select").selectedOptions[0].innerHTML; - var value = document.getElementsByName("Importe")[0].value; - value = value.substr(0,value.length-2) + "," + value.substr(value.length-2,value.length)+" "+curr; - document.getElementById("imp").innerText = value; - var currency = document.getElementsByName("TipoMoneda")[0]; - currency.value = document.getElementById("currency_select").value; - } - - if(document.location.href.indexOf("sermepa.es/sis") != -1){ - console.log("sis.sermepa.es"); - document.forms[0].submit(); - } - - - if(document.domain.indexOf("goteo.org") == -1){ - - var currency_options = '
'; - document.getElementById("pago_tarjeta").insertAdjacentHTML("beforeend",currency_options); - document.getElementById("currency_select").addEventListener("change", update_currency); - - // Generate correct year options - var d = new Date(); - var n = d.getFullYear(); - var opts = ""; - - for(var i = 0; i < 15; i++){ - var cy = n+i; - opts += "\n"; - } - - document.getElementsByName("elanyo")[0].insertAdjacentHTML("afterbegin",opts); - document.body.insertAdjacentHTML("afterbegin","

3rd party Javascript activated because you downloaded an add-on to use this page with free Javascript. If you are not running LibreJS, disable this add-on or reload with it enabled.

"); - document.getElementsByTagName("h1")[0].style.display = "inline"; - document.getElementsByTagName("h1")[0].style.color = "red"; - - document.getElementById("visa").children[0]; - document.getElementById("tarjetero").children[0]; - document.getElementById("masterpass").children[0]; - - - var a = document.getElementsByClassName("izq divizq")[0]; - a.addEventListener("click",function(){ - if(document.getElementById("visa").children[0].checked){ - document.getElementById("pago_tarjeta").style.display = "block"; - document.getElementById("pago_tarjetero").style.display = "none"; - document.getElementById("pago_masterpass").style.display = "none"; - } - if(document.getElementById("tarjetero").children[0].checked){ - document.getElementById("pago_tarjeta").style.display = "none"; - document.getElementById("pago_tarjetero").style.display = "block"; - document.getElementById("pago_masterpass").style.display = "none"; - } - if(document.getElementById("masterpass").children[0].checked){ - document.getElementById("pago_tarjeta").style.display = "none"; - document.getElementById("pago_tarjetero").style.display = "none"; - document.getElementById("pago_masterpass").style.display = "block"; - } - }); - - a.click(); - - document.getElementById("pagar").addEventListener("click",function(){ - // Read the inputs and set the form values: - // expire date - var expire = document.getElementsByName("Caducidad")[0]; - expire.value = document.getElementsByName("elanyo")[0].value+document.getElementsByName("elmes")[0].value; - // currency code - var currency = document.getElementsByName("TipoMoneda")[0]; - currency.value = document.getElementById("currency_select").value; - - document.getElementsByTagName("form")[0].submit(); - }); - - var num_op = document.getElementsByName("Num_operacion")[0].value; - document.getElementById("numoperacion").innerText = num_op; - document.getElementById("CSC").style.display = "none"; - document.getElementById("mc_S_ico").style.display = "none"; - document.getElementById("visa_S_ico").style.display = "none"; - document.getElementById("mc_S_ico").style.display = "none"; - document.getElementById("amex_ico").style.display = "none"; - - var value = document.getElementsByName("Importe")[0].value; - value = value.substr(0,value.length-2) + "," + value.substr(value.length-2,value.length) + " EUR"; - document.getElementById("imp").innerText = value; - } else{ - console.log("goteo"); - // this needs to happen twice for some reason - var dropdown = document.getElementsByClassName("dropdown-menu language-dropbox"); - var a = []; - for(var i = 0; i < dropdown.length; i++){ - a.push(dropdown[i]) - } - for(var i = 0; i < a.length; i++){ - a[i].className = ""; - } - } -} diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~ deleted file mode 100644 index 3394b61..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js~ +++ /dev/null @@ -1,76 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ -if(document.location.href.indexOf("login-mcd-cluster.prd.snantx.attwifi.com") != -1){ - console.log("mcdonalds_wifi.js"); - console.log("Detected new style captive portal."); - document.forms[0].submit(); -} - - -// It seems McDonald's captive portal has changed and it no longer -// uses this captive portal. This will be left here in case there -// are some places where the old style captive portal is still in -// use. -if(document.location.href.indexOf("wayport.net") != -1){ - console.log("mcdonalds_wifi.js"); - console.log("Detected old style captive portal."); - - console.log("Detected the McDonald's captive portal.") - var form = document.getElementsByTagName("form"); - var entries = form[0].getElementsByTagName("input"); - var data = new FormData(); - captive_portal_url = "wayport.net" - if ("undefined" === typeof(document.getElementsByTagName("form")[0].action)) { - console.log("no form found.") - } else{ - document.body.style.border = "5px solid red"; - post_url = document.getElementsByTagName("form")[0].action; - var dest = ""; - for(var i = 0; i < entries.length; i++){ - console.log(entries[i].name + ":" + entries[i].value); - - if(entries[i].name == "origDest"){ - dest = entries[i].name; - entries[i].value = "http://www.wikipedia.org"; - } - // Seems like this should be set to 1, not sure if required though - if(entries[i].name == "connect"){ - entries[i].value = "1"; - } - - data.append(entries[i].name,entries[i].value); - - } - var http = new XMLHttpRequest(); - //auth_url = document.URL.substring(0,document.URL.indexOf(captive_portal_url)+captive_portal_url.length); - //auth_url += post_url; - console.log(data); - console.log(post_url); - var xhr = new XMLHttpRequest(); - xhr.open('POST', post_url, true); - xhr.onload = function () { - // do something to response - //console.log(this.responseText); - document.body = this.responseText; - }; - xhr.send(data); - alert("Authenticated to McDonald's Wi-fi.") - } -} diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~ deleted file mode 100644 index e3ddb5c..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/paygov_main.js~ +++ /dev/null @@ -1,150 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ - -if(document.location.href.indexOf("copyright.gov")!= -1){ - console.log("paygov_main.js"); - - var content; - function replace_regex(){ - content = document.documentElement.innerHTML; - content = content.replace(/type\s*\=\s*("|')\s*hidden\s*\1\s*;/g,""); - content = content.replace(/display\s*:\s*none/g,""); - content = content.replace(/visibility\s*:\s*hidden/g,""); - document.documentElement.innerHTML = ""+content+""; - } - - if(window.getComputedStyle(document.body)["display"] == "none"){ - replace_regex(); - } - function parseURL(a){ - let url = new URL(a); - var result = Object.create(null); - for(let i of url.searchParams) { - result[i[0]] = i[1]; - } - return JSON.stringify(result, undefined, 4); - } - function get_domain(url){ - var domain = url.replace('http://','').replace('https://','').split(/[/?#]/)[0]; - if(url.indexOf("http://") == 0){ - domain = "http://" + domain; - } - else if(url.indexOf("https://") == 0){ - domain = "https://" + domain; - } - domain = domain + "/"; - domain = domain.replace(/ /g,""); - return domain; - } - - if(document.location.href.indexOf("pay.gov/tcsonline/") != -1){ - document.getElementsByClassName("text")[0].remove(); - console.log("detected payment page."); - - if( document.getElementsByClassName("redbuttontext") !== null){ - document.getElementsByClassName("redbuttontext")[0].remove(); - } - - - document.getElementById("hiddenContinueButton").style.display = ""; - document.getElementById("statesCAN").remove(); - document.getElementById("statesUSA").remove(); - document.getElementById("stateText").value = "2 letter code"; - } - - if(get_domain(document.location.href) == "https://dmca.copyright.gov/"){ - - document.body.style.display = true; - var csrf = document.getElementsByName("_csrf")[0].content; - console.log("csrf:"+csrf); - var form = document.getElementById("file"); - if(form !== null){ - console.log("upload page detected"); - document.getElementById("btnUpload").disabled = false; - var xml = new XMLHttpRequest(); - //xml.open("POST","https://dmca.copyright.gov/osp/home/alternatename/edit/alternatename.html",true); - var url = "https://dmca.copyright.gov/home/alternatename/edit/alternatenameajaxdisplay.html" - console.log("OPENING "+url); - xml.open("POST",url,true); - console.log("DONE"); - var spid = JSON.parse(parseURL(document.location.href))["spid"]; - console.log("spid:"+spid); - var payload = { - "draw":1, - "columns":[ - { - "data":"name", - "name":"", - "searchable":true, - "orderable":true, - "search":{ - "value":"", - "regex":false - } - }, - { - "data":null, - "name":"", - "searchable":true, - "orderable":false, - "search":{ - "value":"", - "regex":false - } - } - ], - "order":[ - { - "column":0, - "dir":"asc" - } - ], - "start":0, - "length":10, - "search":{ - "value":"", - "regex":false - }, - "spid": spid - }; - - xml.onload = function(){ - console.log(this); - var parser = new DOMParser(); - var doc = parser.parseFromString(this.responseText, "text/html"); - var error = doc.getElementsByClassName("page-head")[0]; - if(error != undefined){ - console.log(error.innerText.replace(/\t/g,"")); - } else{ - console.log(this.responseText); - } - } - console.log("retrieving data..."); - xml.setRequestHeader('Accept', 'application/json'); - xml.setRequestHeader('Content-Type', 'application/json'); - xml.setRequestHeader("csrfHeader", csrf); - - xml.send(payload); - - } - } - - -} diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~ deleted file mode 100644 index 7a9c202..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/rsf_main.js~ +++ /dev/null @@ -1,44 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ - -if(document.location.href.indexOf("rsf.org") != -1){ - console.log("rsf_main.js"); - function broken_page(){ - if(document.getElementsByClassName("col-md-4 petition-wrap")[0] === undefined){ - return 0; - } - var iframe_src = document.getElementsByTagName("iframe")[0].src.replace(/[\s\S]+%20/g,""); - document.getElementsByClassName("col-md-4 petition-wrap")[0].insertAdjacentHTML("afterbegin",'

Click here to sign the petition

'); - document.getElementsByTagName("iframe")[0].remove(); - } - - function petition_page(){ - document.getElementsByTagName("form")[0].insertAdjacentHTML("beforeend",document.getElementById("ajax-view-state-page-container").innerHTML); - console.log("inserted info"); - } - - if(document.location.href.match("rsf.secure.force.com/petition") !== null){ - console.log("petition");// the page in the iframe - petition_page(); - } else{ - console.log("other page"); - broken_page();// the one with the iframe that is a 404 - } -} diff --git a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ b/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ deleted file mode 100644 index 4f12093..0000000 --- a/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/sumofus_main.js~ +++ /dev/null @@ -1,159 +0,0 @@ -/* - - Copyright (C) 2017-2019 Nathan Nichols - Copyright (C) 2019 Free Software Foundation - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ - -if(document.location.href.indexOf("sumofus") != -1){ - console.log("sumofus_main.js"); - - function wildcard_match(str, rule) { - return new RegExp("^" + rule.split("*").join(".*") + "$").test(str); - } - - var page = window.location.href; - /* - if( wildcard_match(document.getElementsByTagName("pre")[0].innerHTML,'{"follow_up_url":"*"}') ){ - console.log(JSON.parse(document.getElementsByTagName("pre")[0].innerHTML)["follow_up_url"]); - } - */ - - var style = "div { top: 5%; margin-left: 10%; margin-right: 10%; background-color: white;}" - var sheet = document.createElement('style'); - sheet.innerHTML = style; - document.body.appendChild(sheet); - if( wildcard_match(page,"*://*actions.sumofus.org/api/pages/*/actions") ){ - console.log("Submitted petition") - //console.log("Redirecting..."); - var link = document.body.innerText; - link = JSON.parse(link); - //console.log(link); - document.body.innerHTML = "

You have submitted this petition.

"; - } - - - function send_data(data){ - url = document.forms[0].action - - var xhr = new XMLHttpRequest(); - var url_encoded = ""; - var url_encoded_pairs = []; - var name; - - for(name in data){ - temp = encodeURIComponent(name) + '=' + encodeURIComponent(data[name]) - url_encoded_pairs.push(temp); - } - url_encoded = url_encoded_pairs.join('&').replace(/%20/g, '+'); - - xhr.addEventListener('load', function(event){ - console.log("loaded"); - res = JSON.parse(event.target.response); - url = res["follow_up_url"] - document.location = url; - - }); - xhr.addEventListener('error', function(event){ - console.log("Error submitting form."); - }); - - xhr.open('POST', url); - xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - xhr.send(url_encoded); - - } - - if( wildcard_match(page,"*://*actions.sumofus.org/a/*") ){ - console.log("Fixing campaign page"); - - // Make some changes to the page so it's readable. - - // because I noticed there were two of these for some reason - document.getElementsByTagName("button")[1].remove(); - document.getElementsByTagName("span")[0].innerHTML = ""; - var divs = document.getElementsByTagName("div"); - document.getElementsByClassName("noscript-notice")[0].remove(); - - // If they change the HTML of the page this might break... - //document.getElementsByClassName("petition-bar__content")[0].children[1].children[1].innerHTML = ""; - for ( i=0; i"; - html_template += number.link(campaigns[i]["url"])+s; - html_template += "
"; - } - document.body.innerHTML = html_template; - } - }; - - var html_template = "

[Simple SumOfUs.org]

"; - // URL to get campaigns - var url = "http://actions.sumofus.org/api/pages/featured.json?language=en"; - - document.head.replaceWith(""); - document.body.innerHTML = ""; - xhr.open("GET", url); - xhr.send(); - } -} -- cgit v1.2.3