P2P Kredite
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
P2P Kredite Anbieter Vergleich
Vereinfachte Überwachung von Saving Stream Kreditangeboten  

 
Neues Thema eröffnen   Neue Antwort erstellen    P2P-Kredite.com Foren-Übersicht -> Lendy (vormals Saving Stream)
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Claus Lehmann
Site Admin


Anmeldedatum: 31.08.2007
Beiträge: 17518

BeitragVerfasst am: 04.11.2016, 13:05    Titel: Vereinfachte Überwachung von Saving Stream Kreditangeboten Antworten mit Zitat

Wenn mal viele Kreditanteile im Angebot sind, filtert dies die Übersicht auf die vom Anleger voreingestellten gewünschten.

Anleitung:

1. Aus dem Chrome Store TamperMonkey für den Chrome Browser installieren:
chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo

2. Auf das Tamper Monkey Icon klicken (oben rechts) und add a new script

Das Script durch das hier ersetzen:

Code:

// ==UserScript==
// @name         FilterLoans
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Improve funcionality of Available Loans at Saving Stream
// @author       0Risk
// @match        https://savingstream.co.uk/loans/available
// @grant        none
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
// ==/UserScript==

(
    function() {
    'use strict';
    //
    // config variables
    //
    var theGood = ['PBL000','DFL000'];           // XXX diese Kredite hervorheben z.B.: ['PBL091','PBL092']
    var theBad = ['PBL999'];                     // XXX diese kredite ausblenden
    var minValue = 9.00;                         // XXX Kredite ausblenden von denen weniger als dieser Betrag verfügbar ist
    var goodTerm = 50;                           // XXX Kredite mit einer höheren Nummer als dieser hervorheben
    var badTerm = 0;                             // XXX Kredite die weniger als diese Anzahl Tage Laufzeit haben ausblenden
    // end of config
    //
    //
    var assetColumn = 0;
    var termColumn = 6;
    var rows = document.getElementsByTagName("table")[0].rows;
    var tds;
    var availableColumn = rows[0].cells.length - 1;         // available column is the last column
    //
    //check if any element of array a is in string b
    function isIn(a, b) {
        for (var x in a) {
            if (b.search(a[x]) != -1) {
                return true;
            }
        }
        return false;
    }
    // highlight the good
    for (var i=1; i <rows> goodTerm) {
            rows[i].style.color = 'blue';
            rows[i].style.fontSize = "20px";
        }
    }
    // hide the bad, the ugly and the poor
    for (var i=1; i < rows.length; i++) {
        if (isIn(theBad, rows[i].cells[assetColumn].textContent) ||
            rows[i].cells[termColumn].textContent.replace('days','').replace(' ','') < badTerm ||
            rows[i].cells[availableColumn].textContent.replace('£', '') < minValue) {
            rows[i].style.display = 'none';
        }
    }
})();


Die Parameter hinter var= in den mit XXX gekennzeichneten Zeilen ersetzen

3. Speichern (Strg + 'S')
_________________
Meine Investments (aktualisiert 03/22):
Laufend: Bondora*, Investly*, Estateguru*, Ablrate*, Moneything* (Rest), Crowdestate* (Rest), Fellow Finance* (Rest), October* (Rest), Linked Finance*, Lenndy* (Rest), Assetz*, Plenti, Neofinance* (Rest), Lendermarket*,
Beendet: Smava*, Auxmoney*, MyC4, Zidisha, Crosslend*, Lendico*, Omarahee, Lendy*, Bondmason, Finbee*, Bulkestate*, Zlty, Mintos*, Iuvo*, Robocash*, Viainvest*, Viventor*
Crowdinvesting: Seedrs*, Crowdcube, Housers* (Rest), Reinvest24*, Landex*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
michasch



Anmeldedatum: 27.10.2016
Beiträge: 1

BeitragVerfasst am: 11.11.2016, 15:13    Titel: Re: Vereinfachte Überwachung von Saving Stream Kreditangebot Antworten mit Zitat

prima Idee!
auf dem Weg sind aber ein paar Zeilen Code verlorengegangen, so dass das Script im Ergebnis leider gar nicht funktioniert - hier eine Version, wie das Script zumindest wieder funktioniert :-)

Code:
// ==UserScript==
// @name         FilterLoans
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Improve funcionality of Available Loans at Saving Stream
// @author       0Risk
// @match        https://savingstream.co.uk/loans/available
// @grant        none
// ==/UserScript==
(function () {
  'use strict';
  //
  // config variables
  //
  var theGood = ['PBL000', 'DFL000']; // XXX diese Kredite hervorheben z.B.: ['PBL091','PBL092']
  var theBad = ['PBL999'];            // XXX diese kredite ausblenden
  var minValue = 9;                   // XXX Kredite ausblenden von denen weniger als dieser Betrag verfügbar ist
  var goodTerm = 50;                  // XXX Kredite mit einer höheren Nummer als dieser hervorheben
  var badTerm = 0;                    // XXX Kredite die weniger als diese Anzahl Tage Laufzeit haben ausblenden
  // end of config
 
 
  var assetColumn = 0;
  var termColumn = 6;
  var rows = document.getElementsByTagName('table')[0].rows;
  var availableColumn = rows[0].cells.length - 1; // available column is the last column
 
  //check if any element of array a is in string b
  function isIn(a, b) {
    for (var x in a) {
      if (b.search(a[x]) != - 1) {
        return true;
      }
    }
    return false;
  } 
 
  // highlight the good
  for (var i = 1; i < rows.length; i++) {
    if (rows[i].cells[termColumn].textContent.replace(' days', '') >= goodTerm) {
      rows[i].style.color = 'blue';
      rows[i].style.fontSize = '20px';
    }
  } 
 
  // hide the bad, the ugly and the poor
  for (var i = 1; i < rows.length; i++) {
    if (isIn(theBad, rows[i].cells[assetColumn].textContent) || rows[i].cells[termColumn].textContent.replace('days', '').replace(' ', '') < badTerm || rows[i].cells[availableColumn].textContent.replace('£', '') < minValue) {
      rows[i].style.display = 'none';
    }
  }
}) ();

(Das aktivierte HTML zerschießt den Code irgendwie selbst im Code-Tag..., wenn man HTML deaktiviert, klappts auch mit dem Code - der "highlight the good" Block war zerschossen...)

Vielleicht hilft die Korrektur ja jemandem.

Grüße,
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Claus Lehmann
Site Admin


Anmeldedatum: 31.08.2007
Beiträge: 17518

BeitragVerfasst am: 11.11.2016, 15:43    Titel: Re: Vereinfachte Überwachung von Saving Stream Kreditangebot Antworten mit Zitat

Danke; war mir nicht aufgefallen.

P.S.: Willkommen im Forum
_________________
Meine Investments (aktualisiert 03/22):
Laufend: Bondora*, Investly*, Estateguru*, Ablrate*, Moneything* (Rest), Crowdestate* (Rest), Fellow Finance* (Rest), October* (Rest), Linked Finance*, Lenndy* (Rest), Assetz*, Plenti, Neofinance* (Rest), Lendermarket*,
Beendet: Smava*, Auxmoney*, MyC4, Zidisha, Crosslend*, Lendico*, Omarahee, Lendy*, Bondmason, Finbee*, Bulkestate*, Zlty, Mintos*, Iuvo*, Robocash*, Viainvest*, Viventor*
Crowdinvesting: Seedrs*, Crowdcube, Housers* (Rest), Reinvest24*, Landex*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Claus Lehmann
Site Admin


Anmeldedatum: 31.08.2007
Beiträge: 17518

BeitragVerfasst am: 12.11.2016, 23:30    Titel: Re: Vereinfachte Überwachung von Saving Stream Kreditangebot Antworten mit Zitat

Neue Version:

Code:

// ==UserScript==
// @name         FilterLoans
// @namespace    http://tampermonkey.net/
// @version      1.3.1
// @description  Improve funcionality of "Available Loans" tab at Saving Stream* site
// @author       0Risk
// @match        https://savingstream.co.uk/loans/available*
// @grant        none
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
// @require http://tablesorter.com/__jquery.tablesorter.min.js
// ==/UserScript==

(
    function() {
    'use strict';
    var theGood = [];              // XXX diese Kredite hervorheben z.B.: ['PBL091','PBL092']
    var theBad = [];                // XXX diese kredite ausblenden
    var autoClick = ['PBL130']; // XXX öffnet neues Fenster zum Bieten, wenn dieser Kredit verfügbar ist
    var minValue = 9.00;         // XXX Kredite ausblenden von denen weniger als dieser Betrag verfügbar ist
    var goodTerm = 30;           // XXX Kredite mit einer höheren Tagezahl als dieser hervorheben
    var goodMinRate = 12;      // XXX Minimum Zinssatz der für gut befunden wird
    var badTerm = -200;         // XXX Kredite die weniger als diese Anzahl Tage Laufzeit haben ausblenden
    var termSortByDefault = true; // XXX wenn true,sortiere Tabelle nach Restlaufseit
    var autoRefresh = 10;       // XXX Automatisch neuladen nach Anzahl Sekunden mit 0= kein Neuladen
    var mainTable = document.getElementsByTagName("table")[0];
    if (!mainTable)          // main table not found ?!
        return;
    var rows = mainTable.rows;
    var tds;
    var url1;
    var availableColumn = rows[0].cells.length - 1;         // available column is the last column
    var assetColumn = 0;
    var termColumn = 6;
    var rateColumn = 4;
    var autoClicked = false;
    //
    //
    function isIn(a, b) {
    //check if any element of array a is in string b
        for (var x in a) {
            if (b.search(a[x]) != -1) {
                return true;
            }
        }
        return false;
    }
    // iterate rows
    for (var i=1; i < rows.length; i++) {
        // auto click
        if (isIn(autoClick, rows[i].cells[assetColumn].textContent)) {
            url1 = rows[i].cells[assetColumn].getElementsByTagName('a')[0].href;
            if (url1) {
                window.open (url1);
                autoClicked = true;
            }
        }
        // highlight the good
        if (isIn(theGood, rows[i].cells[assetColumn].textContent) ||
            rows[i].cells[termColumn].textContent.replace('days','').replace('day','').replace(' ','') > goodTerm) {
                if (rows[i].cells[rateColumn].textContent.replace('%','') >= goodMinRate) {
                    rows[i].style.color = 'blue';
                    rows[i].style.fontSize = "20px";
                }
        }
        // hide the bad, the ugly and the poor
        if (isIn(theBad, rows[i].cells[assetColumn].textContent) ||
            rows[i].cells[termColumn].textContent.replace('days','').replace('day','').replace(' ','') < badTerm ||
            rows[i].cells[availableColumn].textContent.replace('£', '') < minValue) {
            rows[i].style.display = 'none';
        }
    }

    // ***** Table sorting functions. Solution by http://tablesorter.com/     ********
    //add sorter method for Remaining Term
    $.tablesorter.addParser({
        // define a method for sorting the column 'remaining term'
        // set a unique id
        id: 'terms',
        is: function(s) {
            // return false so this parser is not auto detected
            return false;
        },
        format: function(s) {
            // format your data for normalization
            return s.substring(0,s.indexOf(' day'));
        },
        // set type, either numeric or text
        type: 'numeric'
    });
    //
    $.tablesorter.addParser({
        // define a method for sorting the column 'remaining term'
        // set a unique id
        id: 'numValue',
        is: function(s) {
            // return false so this parser is not auto detected
            return false;
        },
        format: function(s) {
            // format your data for normalization
            return s.replace('£','').replace(',','').replace(',','');
        },
        // set type, either numeric or text
        type: 'numeric'
    });
    //
    $(document).ready(function() {
        var tb1=document.getElementsByTagName("table")[0];
        tb1.id="mainTable";
        tb1.addClass ="tablesorter";
        // create JSON:
        // step 1 of 2: default sort
        var json_TableSorter={};
        if (termSortByDefault) {
            json_TableSorter.sortList = [[termColumn,1]];
        }
        // step 2 of 2
        // headers configuration
        // define the sort method (or absence) for the columns
        var jsonHeaders = {
            0: {sorter:false},
            1: {sorter:false},
            2: {sorter:false},
            3: {sorter:false},
            5: {sorter:false}
            };
        jsonHeaders[termColumn] = {sorter:'terms'};
        jsonHeaders[availableColumn] = {sorter:false};
        if (availableColumn  != 7) {
            jsonHeaders[7] = {sorter:'numValue'};
        }
        json_TableSorter.headers = jsonHeaders;
        // enables the sorting
        $("#mainTable").tablesorter( json_TableSorter );
        }
     );
     //
     // *******       autorefresh functions    ********
     var time = new Date().getTime();
     function showCountdown(countdown) {
         // receives countdown in miliseconds, shows 00:00
         var seconds = Math.round(countdown/1000);
         var minutes = Math.floor(seconds/60);
         seconds = Math.floor(seconds % 60);
         document.getElementById('countdown').innerHTML = minutes + ':' + (seconds  < 10 ? "0" + seconds : seconds);
     }
     //
     $(document.body).bind("mousemove keypress", function(e) {
         time = new Date().getTime();
         showCountdown(autoRefresh);
     });

     function refresh() {
         if (new Date().getTime() - time >= autoRefresh)
             window.location.reload(true);
         else {
             //add text
             showCountdown(autoRefresh + time - new Date().getTime());
             setTimeout(refresh, 1000);
         }
     }
     autoRefresh *= 1000;
     var minAutoRefresh = 4000;
     if (autoRefresh >= minAutoRefresh &&
         !autoClicked) {
             var newElement = document.createElement('div');
             newElement.innerHTML = '<div style="font-weight:bold" align="right" id="countdown"> </div>';
             mainTable.parentNode.insertBefore(newElement, mainTable);
             showCountdown(autoRefresh);
             setTimeout(refresh, 1000);
     }
})();


Auf die Spaltentitel klicken sortiert die Tabelle
_________________
Meine Investments (aktualisiert 03/22):
Laufend: Bondora*, Investly*, Estateguru*, Ablrate*, Moneything* (Rest), Crowdestate* (Rest), Fellow Finance* (Rest), October* (Rest), Linked Finance*, Lenndy* (Rest), Assetz*, Plenti, Neofinance* (Rest), Lendermarket*,
Beendet: Smava*, Auxmoney*, MyC4, Zidisha, Crosslend*, Lendico*, Omarahee, Lendy*, Bondmason, Finbee*, Bulkestate*, Zlty, Mintos*, Iuvo*, Robocash*, Viainvest*, Viventor*
Crowdinvesting: Seedrs*, Crowdcube, Housers* (Rest), Reinvest24*, Landex*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    P2P-Kredite.com Foren-Übersicht -> Lendy (vormals Saving Stream) Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

phpBB SEO URLs V2

*Anzeige / Affiliate Link
Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Anti Bot Question MOD - phpBB MOD gegen Spambots
Vereitelte Spamregistrierungen: 149247


Impressum & Datenschutz