Link aus JS Variable
- Tobiaslb
- Erledigt
-
-
-
So habs ich aktuell, aber dann wechselt er mir die Seite nicht durch, hab ich was falsch?
Code
Alles anzeigen<!DOCTYPE HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Webseite</title> </head> <body> <iframe id="pagecontent" src="pageB" frameborder="0" width="100%" height="3000px" scrolling="no"></iframe> <!-- Link erste Seite --> <script> var element = document.getElementById('pagecontent'); var pageAtimeout, pageBtimeout; window.onload = function(){ var pageB = 'http://www.url1.de'; // Link erste Seite var pageBDuration = 12000; // Zeit erste Seite document.getElementById("pagecontent").src = pageB; }; var pageA = 'http://www.url2.de'; // Link zweite Seite var pageADuration = 24000; // Zeit zweite Seite function showPageA(duration) { pageAtimeout = setTimeout(function() { console.log('pageAtimeout', duration) var currentAttribute = element.getAttribute('src'); element.setAttribute('src', pageA); StopPageAFunction(); showPageB(pageBDuration); }, duration); } function showPageB(duration) { pageBtimeout = setTimeout(function() { console.log('pageBtimeout', duration) var currentAttribute = element.getAttribute('src'); element.setAttribute('src', pageB); StopPageBFunction(); showPageA(pageADuration); }, duration); } function StopPageAFunction() { console.log('clearTimeoutA') clearTimeout(pageAtimeout); } function StopPageBFunction() { console.log('clearTimeoutB') clearTimeout(pageBtimeout); } function start() { showPageA(pageBDuration); } start(); </script> </body> </html>
-
-
Danke ??
Hab noch ein Problem drin hab ich gestern noch gesehen.
Beim öffnen ruft es mir zwar die erste Seite auf, zuerst zeigt es mir X Sekunden die erste und dann nochmals X Sekunden die erste Seite, dann wechselt er erstmal zur zweiten Seite aber da hat er dann die Zeit von der ersten Seite, und die erste Seite später die Zeit von der zweiten Seite, was hab ich da verdreht?
Warum hat er beim aufrufen zwei mal die erste Seite, und wechselt dann erst zur zweiten Seite und dann die Zeiten vertauscht? -
Bin auch kein Java Experte, aber habe dir die Funktion mal umgebaut, wie ich es machen würde:
JavaScript
Alles anzeigenvar element = document.getElementById('pagecontent'); let pageArray = [ ['https://wiki.de/', 4800], //PageA ['https://wikipedia.de', 3600], //PageB ['https://netcup.de', 7800] //PageC ]; var pageIndex = 0; function countPage() { changePage(pageIndex); pageIndex++; if (pageIndex >= pageArray.length) { pageIndex = 0; } } function changePage(pageIndex) { element.setAttribute("src",pageArray[pageIndex][0]); console.log ("PageIndex: " +pageIndex+ " - PageUrl: " +pageArray[pageIndex][0]+ " - PageTimeout: " +pageArray[pageIndex][1] ) setTimeout(function() {countPage();}, pageArray[pageIndex][1]); } countPage();
https://jsfiddle.net/ArtCore7/rm6y0Lqp/41/
Das Array kann natürlich immer erweitert werden. Der Timeout steht direkt hinter der Url.
-
Bin auch kein Java Experte, aber habe dir die Funktion mal umgebaut, wie ich es machen würde:
Hat hier jemand gerade JavaScript und Java vertauscht? Das gibt aber eine Runde für alle Forumsteilnehmer!
-
Top Danke
-
Geht eigendlich sowas ohne Frame auch also direkt anzeigen lassen? Also komplett identisch nur ohne Frames?
-
Kommt drauf an was du laden willst, wenn du nur ein Text laden willst dann reicht auch ein div dafür. Ein Bild natürlich ein Img, aber bei ganzen Seiten natürlich ein iframe, da er sonnst die Stylesheets natürlich auch auf deine Seite anwendet ?
-
Im Prinzip wäre es egal ob er die Css übernimmt weil er nur die einzige Seite anzeigt und sonst nichts anderes stören würde, weil es nur Intern verwendet wird um zwei Seiten auf einem großen TV wechseln zu lassen
-
Würde ich trotzdem beim iframe bleiben und das auf 100vw/100vh stellen.
Oder was stört dich am iframe?
-
Muss ich morgen gleich mal testen, bei mir hats bei einer bestimmten Seite nur 3cm angezeigt von der Höhe. Bei allen anderen hats die 3000px genommen. Aber ich glaub das es so mit 100vh/vw funktionieren sollte