// ==UserScript==
// @name ING DiBa Login keepAlive
// @namespace https://*.ing-diba.*
// @version 0.7.91
// @description try to keep login alive... Das Script setzt die "Automatische LogOut-Funktion" der DiBa-Site außer Kraft. Die Seite bleibt so lange Online, bis man sich selber abmeldet. Hauseigene Werbung wird nun ebenfalls ausgeblendet.
// @description desc2 Banking
// @author Chillchef
// @match https://*.ing.*
// @match https://ing.*
// @match https://*.ing-diba.*
// @include https://*.ing-diba.*
// @include https://*.ing.*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
initEvents();
if(window.debugOutput !== undefined)
{
window.debugOutput = true;
}
//setTimeout(function(){restoreConsole();},400);
var cnt = 0;
var hBckup = new Object();
var d = document;
var t = 100000;
setTimeout(function(){refreshLogin();},t);
setTimeout(function(){refreshPopup();},t);
var classesToHide = new Object();
classesToHide[0] = "ghost-account";
classesToHide[1] = "hint sales-signals sales-signals--wide gap-top-2-lg sales-signals__teaser";
classesToHide[2] = "hint sales-signals sales-signals--wide";
classesToHide[3] = "modal modal--open";
classesToHide[4] = "hint sales-signals sales-signals--wide";
classesToHide[5] = "hint sales-signals";
classesToHide[6] = "insight insight--ghost";
classesToHide[7] = "insight insight--teaser";
//classesToHide[8] = "id3bd5e84e40"; //Test: ID's scheinen sich zu ändern
classesToHide[8] = "insight-modal";
classesToHide[9] = "u-print-hidden";// //insight insight--elevated
classesToHide[10] = "insight insight--slider";
//classesToHide[11] = "xxx";
//classesToHide[11] = "xxx";
//classesToHide[11] = "xxx";
//classesToHide[11] = "xxx";
//classesToHide[11] = "xxx";
//hideClasses(true);
window.addEventListener('load', styleStart());
setTimeout(function(){styleStart();},600);
//window.addEventListener('load', function(){setTimeout(function(){styleStart();},300)});
function log(txt)
{
var d = new Date();
console.log(d.toLocaleString()+ "." + d.getMilliseconds() + " " + txt);
}
function initEvents()
{
log("initEvents()");
//test1
document.onreadystatechange = function(){
if(document.readyState == "complete")
{
log("document.onreadystatechange == \"complete\"");
}
if(document.readyState == "interactive")
{
log("document.onreadystatechange == \"interactive\"");
}
}
//test2
window.addEventListener('load', function(){log("window.addEventListener load");});
//test3
document.addEventListener('DOMContentLoaded', function(){log("document.addEventListener DOMContentLoaded");});
}
function styleStart()
{
cnt++;
log("styleStart() " + cnt);
editStyle("sh-page ing-diba-content-to-blur","90%");
editStyle("isin","90%");
//Werbeeinblendungen ausblenden. Falls nicht gewünscht, einfach auskommentieren oder auf 'false' setzen!
hideClasses(true);
btnColor();
//watchListFullNames();
}
function btnColor()
{
var loBtn = d.getElementsByClassName("button-session")
loBtn[0].innerText = "Kein Auto-Logout!";
//d.getElementsByClassName("session")[0].style.cssText = ":hover {color: red !important; background-color: green !important;}";
var c = "rgb(255, 197, 161)";
var ho = [["session","rgb(255, 98, 50)"], //rgb(255, 98, 0)
["ing-header",c],
["ing-sn-content-to-blur",c],
["ing-header__bottom",c],
["navigation-l1",c],
["ingde-search-input","rgb(255, 222, 201)"],
["session__refresh","rgb(191, 73, 0)"]
];
for(var s in ho)
{
try
{
var b = d.getElementsByClassName(ho[s][0]);
b[0].style["background-color"] = ho[s][1];
}
catch(e)
{
window.console.log("Fehler btnColor(): " + e.message);
}
}
}
function refreshLogin()
{
try
{
var clsn = "session__refresh";
var reloadBtn = d.getElementsByClassName(clsn);
if(reloadBtn[0])
{
reloadBtn[0].click();
console.log(new Date().toLocaleString() + " Login-Refresh");
}
}
catch(e)
{
window.alert("DiBa-Script-Refresh-Fehler: " + e.message);
window.console.log("Fehler: " + e.message + " !!!");
console.log(e);
}
setTimeout(function(){refreshLogin();},t);
}
function refreshPopup()
{
try
{
var pId = "QuotestreamPopup";
var p = d.getElementById(pId);
if(p !== null)
{
var ph = p.clientHeight;
if(ph > 0)
{
d.getElementById("ctl00_QsPopup_Reload").click();
}
}
}
catch(e)
{
window.alert("DiBa-Script-Popup-Fehler: " + e.message);
window.console.log("Fehler: " + e.message + " !!!");
console.log(e);
}
setTimeout(function(){refreshPopup();},3000);
}
function hideClasses(hide)
{
for(var v in classesToHide)
{
hideClass(classesToHide[v], hide);
}
}
function hideClass(clsName, hide)
{
try
{
window.console.log(">>> hideClass: " + clsName);
var sichtbarkeit = hide ? 'hidden' : 'visible';
var ga = d.getElementsByClassName(clsName);
if(ga === null || ga.length === 0)
{
var e = d.getElementById(clsName);
ga = new Object();
ga[0] = e;
}
if(ga !== null)
{
for(var v in ga)
{
if(ga[v] !== null)
{
if(ga[v].id !== undefined)
{
if(ga[v].className === clsName || ga[v].id === clsName)
{
ga[v].style.visibility = sichtbarkeit;
if(hide === true)
{
if (hBckup[ga[v].id] === undefined) { hBckup[ga[v].id] = ga[v].style.height;}
ga[v].style.height = '0px';
}
else
{
if (hBckup[ga[v].id] !== undefined) { ga[v].style.height = hBckup[ga[v].id]}
}
}
}
}
}
}
}
catch(e)
{
window.alert("DiBa-Script-Hide-Class-Fehler: " + clsName + ": " + e.message);
window.console.log("Fehler: " + e.message + " !!!");
console.log(e);
}
}
function editStyle(clsName, clsWidth)
{
try
{
var c;
c = d.getElementsByClassName(clsName);
if(!c)
{
c = d.getElementById(clsName);
}
if(c.length > 0)
{
for(var v in c)
{
try
{
c[v].style["max-width"] = clsWidth;
c[v].children[1].style.maxWidth = clsWidth;
}
catch(ex)
{
}
}
}
}
catch(e)
{
window.alert("DiBa-Script-editStyle-Fehler: " + clsName + ": " + e.message);
window.console.log("Fehler: " + e.message + " !!!");
console.log(e);
}
}
var f;
function createFrame(url, id)
{
try
{
f = document.createElement('iframe');
f.src = url;
document.body.appendChild(f)
f.setAttribute("id",id);
return document.getElementById(id).contentDocument.getElementsByClassName("headline instrument-name")[0].innerHTML;
}
catch(e)
{
return id;
}
}
function watchListFullNames()
{
var t = d.getElementById("ctl00_WebPartManager_wp1597137417_wp45466993_PortfolioItems_Control_Grid").childNodes[2].rows;
for(var r in t)
{
console.log(t[r]);
if(t[r].className === "first")
{
try
{
var id = t[r].cells[0].textContent;
var url = t[r].cells[0].childNodes[0].getAttribute("href");
t[r].cells[0].textContent = createFrame(url, id);
}
catch(e)
{
console.log(e);
}
}
}
}
function restoreConsole()
{
var i = document.createElement('iframe');
i.style.display = 'none';
document.body.appendChild(i);
window.console = i.contentWindow.console;
i.parentNode.removeChild(i);
}
})();