akrosh
Goto Top

Externen DIV-Container via jQuery anzeigen

Hallo zusammen,

wir haben ein Serverraummonitoring für 4 Räume das derzeit auf einer PHP-Weboberfläche basiert!
In diese Weboberfläche haben wir bisher den Frame eines AlarmMangers eingebunden der uns
die typischen Sensorenwerte unserer Serverräume darstellt.
Das ganze war gut abgestimmt und hat super funktioniert, bis der Hersteller des AlarmManagers
dessen Weboberfläche von einem Frameset in ein DIV-basiertes Konstrukt verändert hat.

da ich nur den Sensorenframe brauche und nicht die ganze oberfläche von dem Gerät
sieht das nun ein wenig überladen aus und frisst jede Menge Platz daher wurde mir
nahe gelegt den DIV-Container mit den Sensorendaten via jQuery in die PHP-Weboberfläche zu ziehen.

Nun stellen sich mir da folgende Fragen:

1. geht es einen DIV-Container der im gleichen LAN liegt in eine andere Seite zu intigrieren via jQuery?
2. wenn diese Daten sich stätig verändern (Temperatur, Luftfeuchtigkeit usw.), wird das dann aktuell oder nur einmal mit übergeben?

jQuery ist für mich bisher absoluten Neuland daher bitte ich mangeldes Wissen und Verständis zu entschuldigen ;)

Content-Key: 317690

Url: https://administrator.de/contentid/317690

Printed on: April 19, 2024 at 07:04 o'clock

Member: atze187
Solution atze187 Oct 13, 2016 updated at 06:21:25 (UTC)
Goto Top
Hi,

damit wird das alle 60 Sekunden aktualiisert:

var isUpdatingMonitoring = false;
function updateMonitoring() {
    if (isUpdatingMonitoring == true){
        return;
    }
    isUpdatingMonitoring = true;    
    $.get('external_url/path', function(data) {  
        var fullpage = $("<div>").html(data);  
        var content = $("#content", fullpage.get(0));  
       $("#target").html(content);  
    }).always(function() {
        isUpdatingMonitoring = false;
    });
}
window.setInterval(updateMonitoring(), 60000);

external_url/path durch URL des Monitoring und
#target durch # gefolgt von der ID des zu füllenden Divs ersetzen.
Member: Akrosh
Akrosh Oct 13, 2016 at 09:33:10 (UTC)
Goto Top
external_url/path würde ich dann durch die Adresse zur Index.php leiten.
Als Beispiel wäre das dann 192.168.0.80/index.php

in dieser Index.php ist ein DIV mit der ID mainContent

Wenn ich das richtig verstehe würde das jetzt bedeuten ich ersetze #target in #mainContent?

Wie man an meinem blöden Fragen schon erkennt habe ich das bereits getestet, Erfolglos.
Irgendwo hab ich da noch iwas nicht richtig verstanden ... falls ich es überhaupt verstanden habe!?
Member: michi1983
michi1983 Oct 13, 2016 updated at 09:55:58 (UTC)
Goto Top
versuchs mal mit #content durch #mainContent zu ersetzen und #target durch #deineIdVomZielDiv

Gruß
Member: Akrosh
Akrosh Oct 13, 2016 at 10:30:43 (UTC)
Goto Top
Nun habe ich das jetzt mal wie folgt umgesetzt:

<html>
<head>
<script src="../bin/jquery-3.1.1.js"></script>  
<link rel="stylesheet" media="screen" href="../bin/serverwatch.css">  
</head>
<body>
<script>
var isUpdatingMonitoring = false;
function updateMonitoring() {
    if (isUpdatingMonitoring == true){
        return;
    }
    isUpdatingMonitoring = true;    
    $.get('192.168.231.21/index.php', function(data) {  
        var fullpage = $("<div>").html(data);  
        var content = $("#mainContent", fullpage.get(0));  
       $("#target").html(content);  
    }).always(function() {
        isUpdatingMonitoring = false;
    });
}
window.setInterval(updateMonitoring(), 60000);
</script>
<div id="target"></div>  
</body>
</html>

Er spuckt mir dennoch nix aus ... der QUELL-DIV enthält jedoch ein wenig Text.
Nur als Basis um das zu testen erstmal ...

Die jquery-3.1.1.js hab ich von der Hersteller-Seite bezogen.
Member: atze187
Solution atze187 Oct 13, 2016 at 10:57:47 (UTC)
Goto Top
Ändere mal

$.get('192.168.231.21/index.php', function(data) {   

in

$.get('http://192.168.231.21/index.php', function(data) {   
Member: Akrosh
Akrosh Oct 13, 2016 at 12:08:02 (UTC)
Goto Top
Vielen dank, das war der Haken ...
Da sieht man vor lauter Bäumen den Wald nicht mehr!

Hab dank, du rettest mir die Woche ... nun kann ich das umsetzen!