PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script etc. zum zyklischen Anzeigen für Websites in Firefox?



HaWe
07.03.2018, 09:53
hallo,
Kann man ein Script etc. zum zyklischen Anzeigen für Websites in Firefox schreiben?
ich möchte z.B. versch. Seiten mit Börsenkurs-Charts (urls) nacheinander im selben Fenster aufrufen, 20 sec stehen lassen, und dann auf die nächste in der Liste überwechseln, und dann wieder von vorn.
Beispiele für solche url-loops (wie gesagt, immer im selben Fenster, nicht in immer wieder neuen zusätzlichen Fenstern):

while(true) {
https://www.onvista.de/index/DAX-Index-20735
sleep(20);
https://www.onvista.de/index/MDAX-Index-323547
sleep(20);
https://www.onvista.de/index/Dow-Jones-Index-324977
sleep(20);
https://www.onvista.de/aktien/Alibaba-Aktie-US01609W1027
sleep(20);
https://www.onvista.de/aktien/Facebook-Aktie-US30303M1027
sleep(20);
}

Ceos
07.03.2018, 10:16
Du könntest dein Ziel mit Javascript lösen, ein Timer der durchläuft und alle 20 Sekunden die Seite "bearbeitet"

Die Frage die sich mir stellt ob die "Tabs"(ich würde simple DIV oder FRAME Container anordnen) in der Seite von undefinierten externen Seiten geladen werden oder ob du selbher die Daten produzierst, denn einerseits könnte man mit HTML5 fähigen Browsern eine selbst updatende Seite und ohne reload einmal ganz simpel lösen oder andererseits effizient lösen

Wenn die einzelnen Seiten von Extern kommen, besteht die realistische Chance dass sie intern ebenfalls JS benutzen, dann würde es sich lohnen die entsprechenden Seiten nur einmal zu laden und in einem unsichtbaren DIV/FRAME zu lassen und ann über einen JS Timer die sichtbaren DIVs/FRAMEs mit den unsichtbaren zyklisch auszutauschen

Wenn die Daten aber von dir selber generiert werden, wäre ein Ansatz mit einem simplen Framework und etwas JS um die eigentlichen Rohdaten dann per Websocket oder als Server Sent Event an den Browser zu übermitteln. Der JS in der Webseite übernimtm dann die Verteilung der Daten auf die DIVs/FRAMEs


---------

EDIT: okay falsch verstanden, du willst immer nur EINEN Chart anzeigen, dann reicht es die SEiten einfach in verstecken DIV/FRAME offen zu halten, während dein Tiemr JS einfach nur das die sichtbarkeit der DIVs/FRAMEs durchwechselt


---------

EDIT2: für jegliche Browserversionen hab cih mal schnell eine vergleichbare Lösung für Bilder gegoogelt
http://trendmedia.com/news/infinite-rotating-images-using-jquery-javascript/

jetzt müsste man nur noch rausfinden wie man die Bilder durch Webseiten Container ersetzt ;D

Der gezeigte Script basiert auf GoogleAPI-JS und benutzt eine sog. "rotating-item" klasse in der bilder geladen worden sind und wechselt diese dann sogar mit fade-effekten durch

HaWe
07.03.2018, 12:33
dankeschön schon mal!
ich bin mir jetzt aber nicht sicher, ob ich mich vlt falsch ausgedrückt habe, denn manche Dinge die du schriebst klingen für mich ganz anders als ich es mir vorstellen kann oder konnte:

ich möchte nicht nur die Chart-Bilder oder bestimmte html-Elemente immer wieder zyklisch laden, sondern die kompletten Websites (urls) nacheinander immer wieder neu aufrufen und anzeigen -
also nicht wie einzelne Bildelemente rotieren, wie im Artikel "Infinite Loop: Rotating Images Using jQuery (JavaScript)" beschrieben

Java und html kenne ich nun leider so gut wie gar nicht, ich dachte an etwas total Simples wie z.B. eine Windows/shell (wie ehemals DOS-) Batch-Datei, die die Befehle im wesentlichen so enthält, wie ich es oben in der while() Schleife dargestellt habe, ggf mit label "start:" und dann am Schluss "goto start" statt while(true).

Ceos
07.03.2018, 12:33
Java != Javascript erstmal als Grundlage :)

Javascript ist nicht besonders schwer und das Beispiel für reine Bilder habe ich ja schonmal gepostet, man muss die <img> einträge nur eben mit <div> oder <frame> ersetzen und darin die entsprechenden webseiten laden

den inhalt der divs kann man auch vor dem einblenden neu laden lassen und für den fall dass die darin geladenen webseiten selber javascript haben, sollten sie theoretisch ohne oprobleme sich selber updaten können

----------------------

edit: by the way in sachen HTML habe ich dir vielleicht 2 oder 3 stunden "selfhtml" voraus, also bin cih auch nicht mehr als ein laie, aber damit habe cih mir z.B. einen Twitch multiscreen als HTML gebaut den ich dann einfach mit doppelklick öffne, meine twitch kanaäle auswähle und parallel gucken kann

HaWe
07.03.2018, 12:39
hmmm - gibts da irgendwo Lösungsbeispiele, wo man einfach nur die dortigen urls durch meine urls ersetzen muss?


PS.
es soll ja auch in einem Firefox-Tab laufen, nicht eine eigene Website erstellen

Ceos
07.03.2018, 12:41
gibst du mir mal 3 chart links als beispiel dann versuch ich das mal eben in einen online HTML editor zu packen


PS.
es soll ja auch in einem Firefox-Tab laufen, nicht eine eigene Website erstellen

es ist nur eine HTML die du lokal aufrufst, kein server benötigt

Her estmal ein Beispiel, aber irgendwas habe ich beim kopieren verbockt, der wechselt die charts nicht durch, ich fix das offentlich schnell XD

http://scratchpad.io/grateful-vacation-3980
(http://scratchpad.io/grateful-vacation-3980)
irgendwie bin ich aber auchg erade zu blöd dafür den script starten zu lassen, der wird einfach nciht aufgerufen ... WTF ?

HaWe
07.03.2018, 13:06
gibst du mir mal 3 chart links als beispiel dann versuch ich das mal eben in einen online HTML editor zu packen
das sind die urls, die ich oben verlinkt hatte, mit allem drum und dran:

while(true) {
https://www.onvista.de/index/DAX-Index-20735
sleep(20);
https://www.onvista.de/index/MDAX-Index-323547
sleep(20);
https://www.onvista.de/index/Dow-Jones-Index-324977
sleep(20);
https://www.onvista.de/aktien/Alibab...e-US01609W1027
sleep(20);
https://www.onvista.de/aktien/Facebo...e-US30303M1027
sleep(20);
}

Ceos
07.03.2018, 13:40
<!--
// Copyright (c) 2010 TrendMedia Technologies, Inc., Brian McNitt.
// All rights reserved.
//
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.0.1"></script>
<script type="text/javascript">
function rotator() { //start after HTML, images have loaded
alert("LAUNCHED")
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2500;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function(){
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);

if(currentItem == numberOfItems -1){
currentItem = 0;
}else{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);

}, itemInterval);
}
};
InfiniteRotator.init();
}
</script>
<meta charset="utf-8" />
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body onload="rotator();">
<h1>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</h1>
<div id="rotating-item-wrapper">
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/polar-area.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/line/stepped.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/bar/horizontal.html" width="980" height="347" /></div>
</div>
</body>
</html>


so müsste das EIGENTLICH funktionieren, aber er beschwert sich im browser beim laden immer über das $ zeichen im script, obwohl ich die jquery geladen habe

HaWe
07.03.2018, 13:46
ok, vielen Dank für die viele Mühe!
Wie lade ich denn jetzt den ganzen Code, damit er im Firefox-Fenster läuft?


<!--
// Copyright (c) 2010 TrendMedia Technologies, Inc., Brian McNitt.
// All rights reserved.
//
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.0.1"></script>
<script type="text/javascript">
function rotator() { //start after HTML, images have loaded
alert("LAUNCHED")
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2500;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function(){
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);

if(currentItem == numberOfItems -1){
currentItem = 0;
}else{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);

}, itemInterval);
}
};
InfiniteRotator.init();
}
</script>
<meta charset="utf-8" />
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body onload="rotator();">
<h1>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</h1>
<div id="rotating-item-wrapper">
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/polar-area.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/line/stepped.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/bar/horizontal.html" width="980" height="347" /></div>
</div>
</body>
</html>

Ceos
07.03.2018, 13:51
text datei auf, text rein, umbenennen zu .html statt .txt, doppelklick, eventuell zielbrowser zum öffnen von HTML auswählen

ich komme die nächsten 2-3 stunden aber nicht mehr an einen PC ich kann zwar beiträge lesen und antworten aber nicht mehr am script arbeiten und leider auch jetzt nicht mehr rausfinden was ich da gerade falsch gemacht habe dass er den script nicht vollständig ausführt sorry ;P

HaWe
07.03.2018, 13:54
text datei auf, text rein, umbenennen zu .html statt .txt, doppelklick, eventuell zielbrowser zum öffnen von HTML auswählen


ach sooo funktioniert das - ok, dann habe ich jetzt wenigstens eine grobe Vorstellung davon, wie man Firefox dazu bringen kann, so etwas abzuspulen...

Ceos
07.03.2018, 14:02
EDITIERT, BITTE GENAU AUF DIE EDIT MARKIERUNG ACHTEN

<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.0.1"></script>
<script type="text/javascript">
$(document).ready(function () { //start after HTML, images have loaded
alert("LAUNCHING");
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2500;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);
alert("PREPARED");

//loop through the items
var infiniteLoop = setInterval(function(){
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
alert("ROTATING");
if(currentItem == numberOfItems -1){
currentItem = 0;
}else{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);

}, itemInterval);
alert("DONE");
}
};

InfiniteRotator.init();

});
</script> <meta charset="utf-8" />
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<h1>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</h1>
<div id="rotating-item-wrapper">
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/polar-area.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/line/stepped.html" width="980" height="347" /></div>
<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/bar/horizontal.html" width="980" height="347" /></div>
</div>
</body>


ACHTUNG: da sind alerts drinne zum debuggen, einfach nur die alert zeilen löschen dann sind die meldungen weg!

VERALTET: der funktioniert aber die divs sind trotzdem nciht sichtbar aus irgendwelchen gründen die sich mir gerade noch nciht erschließen
EDIT: habe vergessen die divs mit dem inhalt reinzu packen, jetzt geht es ;D

in der script schleife wo das fadein steht, könnetst du einfach eine zeile darüber einfügen die das div neu laden lässt um den inhalt neu zu laden! sollten deine charts bereits von alleine updaten kannst du dir das sparen

PS: später kann cih dir auch noch versuchenein simples eingabefeld einzubauen, mit dem du neue charts hinzufügen kannst, aber normalerweise lädt er nur das was als <div class="rotating-item"></div> im beispiel angegeben ist und innerhalb des wrappers <div id="rotating-item-wrapper"></div> steht

HaWe
07.03.2018, 14:18
vielen herzlichen Dank!
aber nein, keine charts wie gesagt, sondern die kompletten websites, samt ihrer ganzen Links, Einstellungen, und eingebetten Objekte, so als wenn man sie per url manuell aufruft - wie man das einsetzt oder ersetzt, verstehe ich aber noch nicht, da ich nicht weiß, was solche "items", "divs", "fadein" oder "alerts" etc. überhaupt sind, ganz zu schweigen von java oder javascript.

Die popup-Fenster müssten ntl alle raus, damit es ohne Unterbrechung automatisch durchläuft - verstehe aber absolut nicht, wie man die im Quelltext löscht (die Sprachzeilen sind mir alle völlig fremd).

Eingabefelder aber brauche ich gar nicht, ich brauche nur die genannten 5 oder 6 urls, und wenn ich mal andere brauchen sollte, dann ersetze ich sie einfach statisch im Quelltext.

Ceos
07.03.2018, 18:20
aber nein, keine charts wie gesagt, sondern die kompletten websites, samt ihrer ganzen Links, Einstellungen, und eingebetten Objekte, so als wenn man sie per url manuell aufruft

das ist exakt das, ich habe nur die google charts zum testen benutzt, das sind keine bilder sondern vollwertige webseiten

popouts macht man mit sog. alerts, schmeiß einfach die ganzen "alert("BLABLA");" aus dem code raus und erstz weiter unten im body die adressen für deine wunsch-webseiten



<div class="rotating-item"><object type="text/html" data="http://www.chartjs.org/samples/latest/charts/polar-area.html" width="980" height="347" /></div>

ersetz einfach die adressen und füge neue zeilen nach belieben ein, der code passt sich automatisch an

die width und height parameter kannst du weglassen oder auf "100%" setzen damit sie bildfüllen geöffnet werden

HaWe
07.03.2018, 18:38
da verstehe ich zuwenig von der Sprache, was da wirklich geändert werden und passieren muss.
So kommt jedenfalls nur Murks raus:


<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->

// https://www.onvista.de/index/DAX-Index-20735

// https://www.onvista.de/index/MDAX-Index-323547

// https://www.onvista.de/index/Dow-Jones-Index-324977

// https://www.onvista.de/aktien/Alibab...e-US01609W1027

// https://www.onvista.de/aktien/Facebo...e-US30303M1027


<html lang="en">
<head>
<script type="text/javascript" src="https://www.onvista.de/index/DAX-Index-20735"></script>
<script type="text/javascript">
$(document).ready(function () { //start after HTML, images have loaded

var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2500;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);
alert("PREPARED");

//loop through the items
var infiniteLoop = setInterval(function(){
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
alert("ROTATING");
if(currentItem == numberOfItems -1){
currentItem = 0;
}else{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);

}, itemInterval);
alert("DONE");
}
};

InfiniteRotator.init();

});
</script> <meta charset="utf-8" />
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<h1>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</h1>
<div id="rotating-item-wrapper">
<div class="rotating-item"><object type="text/html" data="https://www.onvista.de/index/MDAX-Index-323547" /></div>
<div class="rotating-item"><object type="text/html" data="www.onvista.de/index/Dow-Jones-Index-324977" /></div>
<div class="rotating-item"><object type="text/html" data="https://www.onvista.de/aktien/Alibab...e-US01609W1027" /></div>
<div class="rotating-item"><object type="text/html" data="www.onvista.de/aktien/Facebo...e-US30303M1027" /></div>
</div>
</body>

Ceos
07.03.2018, 19:13
ah okay ich seh noch einen fehler, die divs werden untereinander dargestellt :(

da muss ich wohl nochmal ran in ruhe und sehen wie man die divs überlappen lässt

PS bei mir läd es schon aber die divs stehen halt untereinander ... das iss bissl doof XD

HaWe
07.03.2018, 19:18
33328 33328 33328

Ceos
07.03.2018, 19:56
die feinheiten des HTML ... immer wieder ein Rätsel ... hier nochmal ne Fassung die teilweise geht ... aber aus irgend einem grund zeigt der nur die erste seite an wenn ich objekte in die divs packe, wenn ich aber einfach nur text rein machen geht es seltsamerweise



<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}


</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.0.1"></script>
<script type="text/javascript">
$(document).ready(function ()
{ //start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 1000;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function()
{
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();

});
</script>
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<div id="rotating-item-wrapper">
<div class="rotating-item" style="z-index: 1; position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid green 2px;">test1<!--<object type="text/html" data="https://www.onvista.de/index/DAX-Index-20735" style="min-width: 100%; min-height: 100%;"/>--></div>
<div class="rotating-item" style="z-index: 2; position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid red 2px;">test2<!--<object type="text/html" data="https://www.onvista.de/index/MDAX-Index-323547" min-width="100%" min-height="100%"/>--></div>
<div class="rotating-item" style="z-index: 3; position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid blue 2px;">test3<!--<object type="text/html" data="https://www.onvista.de/index/Dow-Jones-Index-324977"/>--></div>
<div class="rotating-item" style="z-index: 4; position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid orange 2px;">test4<!--<object type="text/html" data="https://www.onvista.de/aktien/Alibab...e-US01609W1027"/>--></div>
<div class="rotating-item" style="z-index: 5; position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid yellow 2px;">test5<!--<object type="text/html" data="https://www.onvista.de/aktien/Facebo...e-US30303M1027"/>--></div>

</div>
</body>

EDIT: ich glaube das liegt daran dass die webseite von onvista nicht richtig geladen wird! die rödelt bei mir rum und im browser taucht bei mir nur ein einziges DIV mit der ersten seite auf ... das iss irgendwie blöd ... jetzt muss ich rausfinden wei cih objekte separat laden kann ... mhh

HaWe
07.03.2018, 20:11
stimmt, bei mir auch:
test1...test5 werden zyklisch angezeigt!

Ceos
07.03.2018, 20:16
<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}


</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.3.1"></script>
<script type="text/javascript">
$(document).ready(function ()
{ //start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 2000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2000;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function()
{
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();

});
</script>
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<div id="rotating-item-wrapper">
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid green 2px;">
<object type="text/html" data="https://www.onvista.de/index/DAX-Index-20735" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object></object></object></object></object>
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid red 2px;">
<object type="text/html" data="https://www.onvista.de/index/MDAX-Index-323547" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object></object></object></object></object>
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid blue 2px;">
<object type="text/html" data="https://www.onvista.de/index/Dow-Jones-Index-324977" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object></object></object></object></object>
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid orange 2px;">
<object type="text/html" data="https://www.onvista.de/aktien/Alibab...e-US01609W1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object></object></object></object></object>
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid yellow 2px;">
<object type="text/html" data="https://www.onvista.de/aktien/Facebo...e-US30303M1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object></object></object></object></object>
</div>

</div>
</body>


danke für den hirnsport :D hat gut getan und funktionieren tut es auch XD

für weitere seiten einfach einen der div abschnitte mit dem object darin kopieren und die adresse in src des object ändern, rest so lassen wie er ist

PS: mit facebook hab ich damals auch bei onvista spekuliert ... leider zu früh raus gegangen und nur 200% mitgenommen ... aber egal XD

PPS: irgendwas in der onvista seite macht stress und stört meine HTML ich habe einfach ein paar schließende tag für /object reingeworfen und damit hat es dann geklappt

und wenn die farbigen ränder stören einfach den part mit
" border: solid yellow 2px; " aus den zeilen entfernen, das war nur wegen der objektgröße als hilfe

HaWe
07.03.2018, 22:19
33328

wirklich super, absolut perfekt! ein ganz herzliches Dankeschön!

33328

- - - Aktualisiert - - -

kurze Ergänzung:

der Kurs-Chart wird immer nur beim 1. Link angezeigt, beim Rest fehlt er immer - dann ist er in der neuen Runde beim 1. Link wieder da.
Hat jetzt aber keine Eile, der aktuelle Kurs ist immerhin immer da!

- - - Aktualisiert - - -

stimmt auch nicht immer, jetzt geht es zeitweise. Scheint was mit den eingebetteten Java-Werbeapplets zu tun zu haben, ob es funzt oder nicht.

- - - Aktualisiert - - -

FAZIT:

alles super, wie es jetzt läuft, vielen, vielen Dank noch mal! 33328

Ceos
08.03.2018, 06:44
wie gesagt, die eingebetten Seiten stressen irgendwie rum weil schlecht gecoded (Firefox Debugger meldet viele Fehler in den Webseiten), wenn ich eine Lösung finde wie ich die Webseiten Einkapseln kann ohne ihre Funktion einzuschränken, werf ich hier im Topic einfach was hinterher :D

und manchmal kommen die besten Ideen wenn man darüber schreibt ... ich versuch mal ne Version mit FRAME oder IFRAME ... mal sehen ob die sich besser verhalten :D


---------

Ich habe mal NOCH eine Version gebaut, die in den jeweiligen DIVs das Schlüsselwort SANDBOX benutzt, damit sollten die divs sich stabiler verhalten


<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}


</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.3.1"></script>
<script type="text/javascript">
$(document).ready(function ()
{ //start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 2000;

//interval between items (in milliseconds)
var itemInterval = 5000;

//cross-fade time (in milliseconds)
var fadeTime = 2000;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function()
{
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();

});
</script>
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<div id="rotating-item-wrapper">
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid green 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/DAX-Index-20735" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid red 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/MDAX-Index-323547" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid blue 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/Dow-Jones-Index-324977" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid orange 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/aktien/Alibab...e-US01609W1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid yellow 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/aktien/Facebo...e-US30303M1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>

</div>
</body>

HaWe
08.03.2018, 17:37
wie es momentan aussieht, werden allerdings die Seiten nicht bei jedem Anzeigen auch wirklich aktuell neu geladen, so sind alle Seiten momentan nach 2 Stunden Laufzeit seit 14:30 auch 2 Stunden alt, d.h. um 16:30 mit den Werten von 14:30.

- - - Aktualisiert - - -

edit:

Ergänzung:
ich hatte noch die alte Version getestet, und nicht gesehen, dass du inzwischen eine neuere eingestellt hast.
Ich beobachte jetzt mit der neuen Version weiter... ;)


<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}


</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.3.1"></script>
<script type="text/javascript">
$(document).ready(function ()
{ //start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 2000;

//interval between items (in milliseconds)
var itemInterval = 20000;

//cross-fade time (in milliseconds)
var fadeTime = 2000;

//count number of items
var numberOfItems = $('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

//loop through the items
var infiniteLoop = setInterval(function()
{
$('.rotating-item').eq(currentItem).fadeOut(fadeTime);
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
$('.rotating-item').eq(currentItem).fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();

});
</script>
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>

<div id="rotating-item-wrapper">
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid green 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/DAX-Index-20735" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid red 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/MDAX-Index-323547" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid blue 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/etf/DEKA-MDAX-UCITS-ETF-ETF-DE000ETFL441" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid blue 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/index/Dow-Jones-Index-324977" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid orange 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/aktien/Alibaba-Aktie-US01609W1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid yellow 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/aktien/Facebook-Aktie-US30303M1027" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>
<div class="rotating-item" style="position: fixed; top: 0; left: 0; display: none; min-height: 100%; min-width: 100%; border: solid yellow 2px;" sandbox>
<object type="text/html" data="https://www.onvista.de/aktien/TENCENT-HOLDINGS-LTD-Aktie-KYG875721634" style="position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%;"></object><!--</object></object></object></object>-->
</div>


</div>
</body>





- - - Aktualisiert - - -

aktualisiert:

ja, es scheint so zu bleiben:

es gibt Seiten, die sich von sich aus aktualisieren, per Ticker: hier wird die Anzeige immer aktualisiert.

Die Seiten aber, die das nicht tun, bleiben auf dem alten Stand stehen und zeigen immer die alten Werte (z.B. Alibaba, Facebook).
Werden sie hingegen manuell geladen und danach immer wieder neu manuell neu geladen (F5 oder reload-Symbol), dann sind sie aktualisiert, wie erwartet:

das InfiniteRotatingImages-Programm müsste es aber auch so machen als würde man manuell neu laden.

(augenblicklich kann man es nur auf den US Handelsplätzen verfolgen, da die deutschen (Frankfurt, Xetra) ja geschlossen sind.
Alibaba und Facebook z.B. werden dabei automatisch auf Nasdaq (d.h. von D nach USA) umgeswitcht.)

Vermutlich wird der DAX und der MDAX per Ticker selbst-aktualisierend sein, während Einzelaktien an deutschen Börsen nur per Neu-Laden aktualisert werden können: das fehlt im Augenblick also bisher.

Ceos
08.03.2018, 18:44
ja, die neuladefunktion hatte ich nicht eingebaut, hab ich irgendwie vergessen, ich schau mal was cih machen kann

aber ich werd das so einbauen dass du steuern kannst welche seiten sich aktualsieren sollen, weil die mit dynamischer aktualisierung würden sonst ständig neu laden und die verbindungen neu laden, was den browser unnötig bremst

HaWe
08.03.2018, 19:11
ok, danke, steuern können ist an sich ja immer gut ;) , aber weil die Seiten ja nur ca. 10-15 sec. angezeigt werden, wäre "immer aktualisieren" eigentlich absolut perfekt, gerade weil zwischendurch auch oft Ladefehler passieren!

Ceos
09.03.2018, 14:36
Finale Fassung!!!!

ich habe die links in ein array gepackt und nur minimales feedback eingebaut, wenn man zu wenig einträge ind er liste hat doer wenn der script das wrapper div nicht finden kann!
außerdem habe ich den code mal kommentiert zum verständnis und in dem array kann man auch sagen ob die seite NACH DEM FADEOUT neu geladen werden soll oder nicht (soll bedeuten die pages laden gleich NACH dem ausblenden neu, sind also nicht top aktuell, dafür müsste ich mir nochmal einen in der logik abbrechen um quasi das übernächste object zu reloaden während das aktuelle angezeigt wird doer so)



<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}
</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.3.1"></script>
<script type="text/javascript">

//define list for all websites to cycle
var URIList = [
{"data": "https://www.onvista.de/index/DAX-Index-20735", reload: false},
{"data": "https://www.onvista.de/index/MDAX-Index-323547", reload: false},
{"data": "https://www.onvista.de/index/Dow-Jones-Index-324977", reload: false},
{"data": "https://www.onvista.de/aktien/Alibab...e-US01609W1027", reload: false},
{"data": "https://www.onvista.de/aktien/Facebo...e-US30303M1027", reload: false},
{"data": "http://www.zeitzonen.de/deutschland.html", reload: true}
];

//creates an object JQUERY node with the defined website that can be attached anywhere
function createContent(data)
{
var newcontent = document.createElement("object");
newcontent.style.position = "fixed";
newcontent.style.top = 0;
newcontent.style.left = 0;
newcontent.style.minWidth = "100%";
newcontent.style.minHeight = "100%";
newcontent.id = "content-object";
newcontent.type = "text/html";
newcontent.data = data;
return $(newcontent);
}

$(document).ready(function ()
{
//create our rotating-items
var divs = [];
var containers = $("#rotating-item-list");
if(containers.length == 0)
{
alert("NO \"rotating-item-list\" CONTAINER FOUND!")
}
else if(containers.length > 1)
{
alert("ONLY 1 \"rotating-item-list\" CONTAINER ALLOWED!")
}
else
{
var divcontainer = containers.get(0);
URIList.forEach(function(element){

//create a div that can be faded and uses all displayspace available while overlapping with identical divs
var newdiv = document.createElement("div");
newdiv.style.position = "fixed";
newdiv.style.top = 0;
newdiv.style.left= 0;
if(divs.length > 0)
{
newdiv.style.display = "none";
}
else
{
newdiv.style.display = "block";
}
newdiv.style.minHeight = "100%";
newdiv.style.minHidth = "100%";
newdiv.class = "rotating-item";
newdiv.sandbox = "";

//create an object which loads and displays the page of interest
var newcontent = createContent(element.data);

//convert DOM to JQUERY
newdiv = $(newdiv);

//insert content in div
newdiv.append(newcontent);

//insert div in container
divcontainer.append(newdiv.get(0));
divs.push(newdiv);
});
if(divs.length < 2)
{
alert("TO FEW ENTRYS TO CYCLE");
}
else
{
//start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 3000;

//cross-fade time (in milliseconds)
var fadeTime = 1000;

//count number of items
var numberOfItems = divs.length;//$('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

var lastItem = -1;

//loop through the items
var infiniteLoop = setInterval(function ()
{
//fade out and when finished reload page
divs[currentItem].fadeOut(fadeTime, function (){
if(URIList[lastItem].reload == true)
{
var fadednode = $(this); //grab JQUERY
fadednode.empty(this.firstChild); //clear content
var newcontent = createContent(URIList[lastItem].data); //create new content
fadednode.append(newcontent); //append new content
}
});
lastItem = currentItem;
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
divs[currentItem].fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();
}
}
});
</script>
<title>Infinite Rotating Images Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>
<div id="rotating-item-list">
</div>
</body>
</html>


ACHTUNG: achte mal auf deinen RAM verbrauch, für das reload lösche ich content und erstelle ihn neu, ich hoffe da ist kein memory leak dabei :D

HaWe
09.03.2018, 18:06
Finale Fassung!!!!

ich habe die links in ein array gepackt und nur minimales feedback eingebaut, wenn man zu wenig einträge ind er liste hat doer wenn der script das wrapper div nicht finden kann!
außerdem habe ich den code mal kommentiert zum verständnis und in dem array kann man auch sagen ob die seite NACH DEM FADEOUT neu geladen werden soll oder nicht (soll bedeuten die pages laden gleich NACH dem ausblenden neu, sind also nicht top aktuell, dafür müsste ich mir nochmal einen in der logik abbrechen um quasi das übernächste object zu reloaden während das aktuelle angezeigt wird doer so)

ACHTUNG: achte mal auf deinen RAM verbrauch, für das reload lösche ich content und erstelle ihn neu, ich hoffe da ist kein memory leak dabei :D


hi,
dankeschön, ich teste es jetzt sofort!
Wie ich das mit dem RAM testen soll, weiß ich allerdings noch nicht....(?)
Hier ist dein Code mit ein paar Anpassungen meinerseits (urls berichtigt/ergänzt, Zeitdauer verlängert):



<!--
// Released under the GPL license
// http://www.opensource.org/licenses/gpl-license.php
//
// ************************************************** ********************
// 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.
// ************************************************** ********************
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">
html, body {
height: 100%;
width: 100%;
margin: 0;
}
</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=3.3.1"></script>
<script type="text/javascript">

//define list for all websites to cycle
var URIList = [
{"data": "https://www.onvista.de/index/DAX-Index-20735", reload: true},
{"data": "https://www.onvista.de/index/MDAX-Index-323547", reload: true},
{"data": "https://www.onvista.de/etf/DEKA-MDAX-UCITS-ETF-ETF-DE000ETFL441", reload: true},
{"data": "https://www.onvista.de/etf/DEKA-OEKOM-EURO-NACHHALTIGKEIT-UCITS-ETF-ETF-DE000ETFL474", reload: true},
{"data": "https://www.onvista.de/index/Dow-Jones-Index-324977", reload: true},
{"data": "https://www.onvista.de/aktien/Alibaba-Aktie-US01609W1027", reload: true},
{"data": "https://www.onvista.de/aktien/Facebook-Aktie-US30303M1027", reload: true},
{"data": "https://www.onvista.de/aktien/TENCENT-HOLDINGS-LTD-Aktie-KYG875721634", reload: true},
{"data": "http://www.zeitzonen.de/deutschland.html", reload: true}
];

//creates an object JQUERY node with the defined website that can be attached anywhere
function createContent(data)
{
var newcontent = document.createElement("object");
newcontent.style.position = "fixed";
newcontent.style.top = 0;
newcontent.style.left = 0;
newcontent.style.minWidth = "100%";
newcontent.style.minHeight = "100%";
newcontent.id = "content-object";
newcontent.type = "text/html";
newcontent.data = data;
return $(newcontent);
}

$(document).ready(function ()
{
//create our rotating-items
var divs = [];
var containers = $("#rotating-item-list");
if(containers.length == 0)
{
alert("NO \"rotating-item-list\" CONTAINER FOUND!")
}
else if(containers.length > 1)
{
alert("ONLY 1 \"rotating-item-list\" CONTAINER ALLOWED!")
}
else
{
var divcontainer = containers.get(0);
URIList.forEach(function(element){

//create a div that can be faded and uses all displayspace available while overlapping with identical divs
var newdiv = document.createElement("div");
newdiv.style.position = "fixed";
newdiv.style.top = 0;
newdiv.style.left= 0;
if(divs.length > 0)
{
newdiv.style.display = "none";
}
else
{
newdiv.style.display = "block";
}
newdiv.style.minHeight = "100%";
newdiv.style.minHidth = "100%";
newdiv.class = "rotating-item";
newdiv.sandbox = "";

//create an object which loads and displays the page of interest
var newcontent = createContent(element.data);

//convert DOM to JQUERY
newdiv = $(newdiv);

//insert content in div
newdiv.append(newcontent);

//insert div in container
divcontainer.append(newdiv.get(0));
divs.push(newdiv);
});
if(divs.length < 2)
{
alert("TO FEW ENTRYS TO CYCLE");
}
else
{
//start after HTML, images have loaded
var InfiniteRotator =
{
init: function()
{
//initial fade-in time (in milliseconds)
var initialFadeIn = 1000;

//interval between items (in milliseconds)
var itemInterval = 15000;

//cross-fade time (in milliseconds)
var fadeTime = 1000;

//count number of items
var numberOfItems = divs.length;//$('.rotating-item').length;

//set current item
var currentItem = 0;

//show first item
$('.rotating-item').eq(currentItem).fadeIn(initialFadeIn);

var lastItem = -1;

//loop through the items
var infiniteLoop = setInterval(function ()
{
//fade out and when finished reload page
divs[currentItem].fadeOut(fadeTime, function (){
if(URIList[lastItem].reload == true)
{
var fadednode = $(this); //grab JQUERY
fadednode.empty(this.firstChild); //clear content
var newcontent = createContent(URIList[lastItem].data); //create new content
fadednode.append(newcontent); //append new content
}
});
lastItem = currentItem;
if(currentItem == numberOfItems -1)
{
currentItem = 0;
}
else
{
currentItem++;
}
divs[currentItem].fadeIn(fadeTime);
}, itemInterval);
}
};

InfiniteRotator.init();
}
}
});
</script>
<title>Infinite Rotating Websites Using jQuery (JavaScript) - Unstyled</title>
</head>
<body>
<div id="rotating-item-list">
</div>
</body>
</html>

Ceos
09.03.2018, 20:33
einfach mal im taskmanager die auslastung des browser beobachten, sollte halt nach 2h nicht irgendwo im mehrstelligen GB bereich liegen :D


ich bin derzeit bei 5 onvista seiten bei 1.5GB relativ stabil

HaWe
09.03.2018, 20:43
einfach mal im taskmanager die auslastung des browser beobachten, sollte halt nach 2h nicht irgendwo im mehrstelligen GB bereich liegen :D

ich bin derzeit bei 5 onvista seiten bei 1.5GB relativ stabil

ich sehe da keine Browser-Auslastung, nur :

Verlauf cpu-Auslastung (gesamt) in %
und
Arbeitsspeicher/Verwendungsverlauf des physikal. Speichers (gesamt)


PS,
so, neuer Tag, neues Glück:
ich lasse das Script jetzt einmal 2 Stunden lang laufen und vergleiche Gesamt-Speicher jetzt und dann 2 Stunden später.

cpu: i5 4200M, 2(+2) cores, 2,5GHz. 12 GB RAM

Neustart, es lief noch was im Hintergrund mit.

ganz ohne Firefox: 1,4 GB, 0-1% cpu-Auslastung
mit Firefox Roboternetz.de : 1,87 GB, 0-3% cpu-Auslastung

Start Script (14 urls), in einem 2. Tab neben Roboternetz.de, aber im selben Firefox-Window:
sofort ansteigend auf 2,3 GB, 2-32% cpu-Auslastung, im Sekundentakt langsam weiter steigend

nach 3 Minuten: max. 2,60 GB, 2-42% cpu-Auslastung

nach 10 Minuten: max. 2,87 GB, 3-33% cpu-Auslastung

nach 20 Minuten: max. 3,09 GB, 7-44% cpu-Auslastung

nach 30 Minuten: max. 3,08 GB, 4-35% cpu-Auslastung

nach 40 Minuten: max. 3,25 GB, 3-43% cpu-Auslastung

nach 60 Minuten: max. 3,21 GB, 3-38% cpu-Auslastung

nach 90 Minuten: max. 3,23 GB, 1-46% cpu-Auslastung

nach 120 Minuten: max. 3,13 GB, 0-38% cpu-Auslastung
nach 121 Minuten mit aktivem Script-Tab : max. 3,35 GB, 0-38% cpu-Auslastung


Jetzt Schließen des Script-Tabs, nur Roboternetz-Tab aktiv:
nach 122 Minuten: max. 2,04 GB, 0-1% cpu-Auslastung


erst später, während des Tests festgestellt:
die Werte wurden gemessen, als der Tab mit Roboternetz-Thread im Vordergrund war.
holt man zwischenzeitlich den Script-Tab in den Vordergrund, steigen die RAM-Werte durchschnittlich um bis zu 0,25 GB an.
Holt man dann wieder den Roboternetz-Tab in den Vordergrund, fallen sie nach ein paar Sekunden wieder um genau diese (bis zu) 0,25 GB ab.

Daher wurden zur besseren Vergleichbarkeit immer nur die Werte mit Roboternetz-Tab im Vordergrund notiert bzw. angeglichen.


Fazit:
mit 2 Firefox-Tabs, wobei der Script-Tab im Vordergund ist, scheinen 3,35 GB dauerhaft das Maximum zu sein, ansonsten gut 3,1 GB.

Überschießende GB werden sicherlich am ehesten durch Windows-Hintergrund-Tasks verursacht, z.B. auch Windows-Update-Services und Virenschutz-Pprogramme.

Ceos
10.03.2018, 08:47
oh wow, wesentlcih mehr als bei mir, ich habe no-script plugin für meinen firefox, vielleich retten die unterdrückten werbebanner und third-party links einiges an speicher ... aber das ist halt onvista, MASSENHAFT werbung und unnötigen kram auf den chartseiten, eigentlich müsste man hingehen und die wertvollen daten aus den seiten schneiden, aber da hat onvista sicher was dagegen XD

HaWe
10.03.2018, 11:52
So Testlauf beendet!

Sieht absolut gut aus!
Messwerte hier: https://www.roboternetz.de/community/threads/71695-Script-etc-zum-zyklischen-Anzeigen-f%C3%BCr-Websites-in-Firefox?p=643178&viewfull=1#post643178



erst später, während des Tests festgestellt:
die Werte wurden gemessen, als der Tab mit Roboternetz-Thread im Vordergrund war.
holt man zwischenzeitlich den Script-Tab in den Vordergrund, steigen die RAM-Werte durchschnittlich um bis zu 0,25 GB an.
Holt man dann wieder den Roboternetz-Tab in den Vordergrund, fallen sie nach ein paar Sekunden wieder um genau diese (bis zu) 0,25 GB ab.

Daher wurden zur besseren Vergleichbarkeit immer nur die Werte mit Roboternetz-Tab im Vordergrund notiert bzw. angeglichen.


Fazit:
mit 2 Firefox-Tabs, wobei der Script-Tab im Vordergund ist, scheinen 3,35 GB dauerhaft das Maximum zu sein, ansonsten gut 3,1 GB.

Überschießende GB werden sicherlich am ehesten durch Windows-Hintergrund-Tasks verursacht, z.B. auch Windows-Update-Services und Virenschutz-Pprogramme.

Dir, Ceos, nochmals tausend Dank für deine Mühe, das läuft jetzt super gut und absolut stabil!

Echt toll!

http://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-11/256/thumbs-up.png

Ceos
10.03.2018, 15:30
den Dank kan ichnzurück geben, ich liebe es mich mal mit neuen sachen zu beschäftigen, hat spaß gemacht ... und ich verteufel HTML immernoch dafür dass es wie linux ist, 1000 schalter für dieselbe funktion, nur 3 funktionnieren und wenn man 2 davon gleichzeitig einsetzt knallt es nicht an der stelle sondern erst viel weiter unten wo man es garnicht erwartet