Skip to content

Instantly share code, notes, and snippets.

@silvasur
Created February 28, 2015 13:08

Revisions

  1. Kevin Chabowski created this gist Feb 28, 2015.
    50 changes: 50 additions & 0 deletions immobilienscout_plus_plus.user.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    // ==UserScript==
    // @name immobilienscout++
    // @namespace kch42
    // @include http://www.immobilienscout24.de/Suche/*
    // @version 1
    // @grant none
    // ==/UserScript==

    /*
    * Immobilienscout24 Suche verbessern.
    * Im Moment wird die Warmmiete in den Suchergebnissen angezeigt.
    */

    function mkcrit(title, value) {
    var nc = document.createElement("dl");
    nc.classList.add("criteria");
    var dt = document.createElement("dt");
    dt.classList.add("title");
    dt.textContent = title;
    var dd = document.createElement("dd");
    dd.classList.add("value");
    dd.textContent = value;
    dd.style.fontSize = "75%";
    nc.appendChild(dt);
    nc.appendChild(dd);
    return nc;
    }

    function procresult(result) {
    if(result.classList.contains("isplusplus_processed")) {
    return;
    }

    var url = result.querySelector("span.title a").getAttribute("href");
    var req = new XMLHttpRequest();
    req.addEventListener("load", function() {
    var doc = this.responseXML;
    var warmmiete = doc.querySelector(".is24qa-gesamtmiete");
    result.querySelector(".resultlist_criteria").appendChild(mkcrit("Warmmiete", warmmiete ? warmmiete.textContent : "?"));
    result.classList.add("isplusplus_processed")
    });
    req.open("GET", url);
    req.responseType = "document";
    req.send();
    }

    var results = document.querySelectorAll("#resultListItems > li.resultlist");
    for (var i = 0; i < results.length; i++) {
    procresult(results[i]);
    }