Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: TeamSpeak 3 Webinterface Support Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 3. Juli 2016, 13:53

automatisches Relaod des Iframe

Ich würde mir sehr gerne ein automatisches reload des Iframes wünschen.

Da ich das Iframe in einem Slider habe, muss ich immer die komplette Seite reloaden, damit ich sehe, wer im TS online ist, wenn ich noch nicht online bin.
Wenn sich dieses Iframe nun selber aktualisieren würde, brauche ich nicht immer die komplette Seite aktualisieren.

Wäre dieses realisierbar?

Wenn nicht, hätte vielleicht jemand eine Lösung, wie man dieses mit einem Code realisieren kann?

2

Dienstag, 12. Juli 2016, 08:43

Hallo,

ja das würde ich mir auch wünschen :(

Beim Viewer von https://www.tsviewer.com/index.php?page=ts_viewer&ID=1011956 funktioniert das ohne Probleme genauso passt er sich Automatisch an die höhe an wenn sich der Server füllt :rolleyes:


Allerdings hat tsviwer.com das ohne iframe realisiert da iframe da oft Probleme macht,der Wert

Zitat

style="height:100%;width:100%"
hat in dem Script von Psychokiller leider keine Auswirkung :S

Disconn

Anfänger

Beiträge: 10

Wohnort: Duisburg

Beruf: SysAdmin

  • Nachricht senden

3

Donnerstag, 4. August 2016, 16:49

Hi, ich habe mir mit einer Änderung im Code geholfen:

Ich hole mir jQuery von code.jquery.com um asynchrone Ajax-requests auf die tsviewpub.php ab zu feuern.
Dann bin ich hin gegangen und habe mittels einer if - else Alternative unterschieden ob es ein normaler Aufruf ist oder nur der "tree + copyright" ausgespielt werden muss.
Ein Intervall von einer Sekunde um den Ajax-request und fertig ist der iFrame, der sich immer aktuell hält.

Natürlich geht es auch langsamer, da vielleicht nicht jeder den besten Server hat und dieser Sekundliche Aufruf vielleicht zu viel Last erzeugt, kann die Sekunden Anzahl einfach höher gesetzt werden (ist im Code kommentiert <fast ganz unten>).

Ich hoffe ich habe irgendwem damit geholfen und niemanden verärgert.

Lg, Disconn
»Disconn« hat folgende Datei angehängt:
  • tsviewpub.zip (4,16 kB - 92 mal heruntergeladen - zuletzt: 17. November 2017, 17:43)

4

Dienstag, 9. August 2016, 11:32

Danke Dir ;)

Hilft das auch bei der Autom. Höhen Anpassung sobald mehr User auf dem Ts sind das sich das Script in der höhe anpasst ?(

MfG

Disconn

Anfänger

Beiträge: 10

Wohnort: Duisburg

Beruf: SysAdmin

  • Nachricht senden

5

Dienstag, 18. Oktober 2016, 23:38

Hey, mir ist bisher keine Möglichkeit bekannt die Höhe des iFrame automatisch zu verändern.

Sobald ich auf irgendwas stoße, sage ich bescheid =)

LG, Disconn

6

Dienstag, 1. November 2016, 10:42

Ok das wäre mal was,danke 8)

7

Dienstag, 14. März 2017, 13:25

Hab noch immer keine Lösung gefunden ;(

War jemand von Euch Erfolgreich?

Disconn

Anfänger

Beiträge: 10

Wohnort: Duisburg

Beruf: SysAdmin

  • Nachricht senden

8

Samstag, 20. Mai 2017, 12:53

Ich habe es!

Der iframe berechnet seine Größe (in Pixeln die der Content benötigt, da alle channel und user gleich hoch sind kein Problem) und sendet diese an die Hauptseite:

Hier der ausschnitt aus meiner TsViewpub:


<body onload="window.parent.postMessage(height,'*')">

<div class='content'>
<?php echo $tree; ?>
<div class="copy">&copy; <a class="copy" href="http://ts3.cs-united.de">Psychokiller</a></div>
</div>
<script>
var numItemsChan = $('div.channel').length; // Wieviele Channel?
var numItemsClient = $('div.client').length; // Wieviele User?

var numItems = numItemsChan + numItemsClient + 1;

var height = numItems * 19 + 16;
</script>
</body>

und hier der "Empfänger" welcher direkt unter dem iframe oder irgendwo eingefügt werden kann:


<script>
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
jQuery("iframe").css("height", e.data + "px");
},false);
</script>

Ergebnis sollte dann so aussehen: https://www.disconn.de/teamspeak-3-server-uebersicht/ bei fragen einfach ts3@disconn.de

Disconn

Anfänger

Beiträge: 10

Wohnort: Duisburg

Beruf: SysAdmin

  • Nachricht senden

9

Samstag, 20. Mai 2017, 12:56

ich muss es noch schaffen, dass die höhe automatisch angepasst wird wenn Leute hinzukommen, momentan wird nur einmal beim Seitenaufruf gezählt und diese Höhe dann gesetzt.

Diese Methode ist unfassbar dreckig aber funktioniert für mich =)

Lg Disconn

10

Montag, 24. Juli 2017, 09:10

ich muss es noch schaffen, dass die höhe automatisch angepasst wird wenn Leute hinzukommen, momentan wird nur einmal beim Seitenaufruf gezählt und diese Höhe dann gesetzt.

Diese Methode ist unfassbar dreckig aber funktioniert für mich =)

Lg Disconn
Das is ja schon mal ein Highlight wenn es denn funktionieren sollte,DANKE ;)

11

Dienstag, 25. Juli 2017, 10:37

Funktionier bei mir nicht,wie sieht der Code vom Iframe bei Dir aus? :S

12

Dienstag, 25. Juli 2017, 12:43

Funktionier bei mir nicht,wie sieht der Code vom Iframe bei Dir aus? :S
Ich hab mir auch mal den Code angeschaut, was mir dabei aufgefallen ist jQuery muss auch im TsViewpub eingebunden werden oder ersetzte den script block mit diesem:

Quellcode

1
2
3
4
5
6
7
8
<script>
var numItemsChan = document.getElementsByClassName('channel').length; // Wieviele Channel?
var numItemsClient = document.getElementsByClassName('client').length; // Wieviele User?

var numItems = numItemsChan + numItemsClient + 1;

var height = numItems * 19 + 16;
</script>

Disconn

Anfänger

Beiträge: 10

Wohnort: Duisburg

Beruf: SysAdmin

  • Nachricht senden

13

Samstag, 29. Juli 2017, 10:12

Ja, stimmt das habe ich wohl vergessen. So funktioniert es auch =)

Lg, Disconn