Iframe Video Größe berechnen (JS?)

dont ScreaM

Neuling
Thread Starter
Mitglied seit
25.01.2017
Beiträge
385
Hallo,
ich möchte eine Rechnung durchführen wo die Höhe meines <iframe> berechnet wird.
Mit "Viewport"(vw/vh) kommt der <iframe> außerhalb meines Containers deswegen geht es nicht :(
(Frage nebenbei, kann man die ganze Seite mit vw/vh machen damit die Seite auf allen Auflösungen gleich aussieht?)

CSS
Code:
iframe {
  width: 100%;
  margin: 3px 0 15px 0;
  border: 1px solid #333;
}

Iframe
Code:
<iframe src="#" frameborder="0" allowfullscreen></iframe>

Bisschen in Javascript gekritzelt aber funktioniert nicht.
Code:
var iframeW = $("iframe").height();
var iframeH = iframeW/1.77777777778;
$("iframe").css({ height: iframeH});

- - - Updated - - -

Anlauf nr2:
Code:
function changeWidth() {
  var iframe = document.getElementById("video");
  var iframeW = iframe.width();
  var iframeH = iframeW / 1.77777777778;
  iframe.style.height = iframeH;
}

- - - Updated - - -

Anlauf nr3:
Code:
  window.onload = displayWindowSize;

  function displayWindowSize() {
    var myWidth = 0,
      myHeight = 0;
      
      myWidth = document.querySelector('iframe').clientWidth;
      myHeight = document.querySelector('iframe').clientHeight;
      
    document.getElementById("demo").innerHTML = myWidth + "x" + myHeight;
  };

</script>
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Anlauf nr4:
Code:
window.onresize = videoSize;
window.onload = videoSize;

function videoSize() {
  viewH = document.getElementById("view").clientHeight;
  viewW = document.getElementById("view").clientWidth;  
  iframeH = viewH / 1.1;
  iframeW = viewW - 20;
  document.getElementById("ivideo").style.height = iframeH + "px";
  document.getElementById("ivideo").style.width = iframeW + "px";
};

Kann mir jemand sagen wieso mein Script in JSFiddle funktioniert aber nicht auf meiner Webseite?
 
Wofür brauchst du überhaupt das iFrame? Das sollte man vermeiden wo es geht...

Ansonsten schau dir doch mal sowas an:

maddesigns.de/responsive-iframes-2417.html

Gesendet von iPhone mit Tapatalk Pro Deluxe VIP Exclusive Edition
 
Die Frage ist erstmal was für ein iframe du einbinden möchtest und warum du die größe von jenem brauchst.
Davon hängt in gewissen weißer die Lösung ab.
 
Wie schon gesagt, Iframes sind zu vermeiden, es sei denn es gibt keinerlein Plan B. Die Dinger sind das hinterletzte. Was genau möchtest du denn einbinden?
 
Du kannst die Grösse eines iFrame Inhalts nur im iFrame selbst berechnen und dann per JS and das aussen liegende Window übergeben. Wenn der iFrame Inhalt nicht von dir ist (z.B. Youtube), bist du da machtlos.
 
Wieso hab ich mir bloß gedacht das es dir um Einbindung von Youtubevideos geht :d

Naja du hast es ja scheinbar geschafft.
 
Ich muss jetzt noch die Suchmaschine einfügen :x
Sphider - a php spider and search engine

Du möchtest eine PHP-Library einbinden, die Funktionen nutzt, die seit PHP 5.5 deprecated sind und auf ihrer Demoseite PHP-Fehlermeldungen anzeigt. Möchtest du diese Entscheidung nicht eventuell nochmal überdenken?

Edit: ...und keine Klassen benutzt, Globals nicht filtert, schließende PHP-Tags in PHP-only-Dateien benutzt, globale Variable nutzt, MySQL-Fehler knallhart per echo ausspuckt (!!!!!), keinerlei Filter auf Querys ausführt (!!!!!!!!!!!!!!!!!!!) und an dem Error Reporting rumspielt. Wow, das ist das hässlichste und gefährlichste Stück Code, das ich seit langem gesehen habe.
 
Zuletzt bearbeitet:
Selber machen. Das simpel und anwendungsspezifisch, dass ne gescheite Library nahezu nicht möglich ist.

Hab ein Tutorial gefunden aber man muss alles selber "indexen" also in MySQL einfügen.

Also ich hab mir sein Video angeguckt und alles selber geschrieben, hat auch bisschen erklärt, hab so viel wie nichts verstanden :d aber ok...
Code:
<body>
  <center>
    <form action="results.php" method="get">
      <input type="text" name="input" size="50" <?php echo $_GET ['input']; ?> />
      <input type="submit" value="search" />
    </form>
  </center>
<hr>
<?php
  $input = $_GET['input'];
  $terms = explode (" ", $input);
  $query = "SELECT * FROM search WHERE";

  foreach ($terms as $each) {
    $i++;
    if ($i == 1){
    $query .= "keywords LIKE '%$each%' ";}
    else {
      $query .= "OR keywords LIKE '%$each%' ";
  }

  //Connect to Database
  mysql_connect("HOST","NAME","PASSWORD");
  mysql_select_db("DBName");
  $query = mysql_query($query);
  $numrows = mysql_num_rows($query);
  if ($numrows > 0){
    while ($rows = mysqlfetch_assoc($query)){
      $id = $row['id'];
      $title = $row['title'];
      $description = $row['description'];
      $keywords = $row['keyword'];
      $ink = $row['link'];

      echo "<h2>$<a href='$link'>$title</a></h2>
      $description<br/><br/>";
    }
  }

  else {
    echo "No results found for \"<b>$input</b>\"";

    //Disconnect
    mysql_close();
  }
?>
</body>
 
mysql_connect("HOST","NAME","PASSWORD");
mysql_select_db("DBName");
$query = mysql_query($query);

Das sind genau die MySQL-Funktionen, die du NICHT benutzen darfst. Seit PHP 5.5 sind diese Funktionen deprecated und wenn du in 7.0 entwickelst, dann funktionieren die sogar gar nicht mehr.
 
Ich kenne mich mit PHP nicht wirklich aus. Aber so wie ich das sehe werden die Eingaben dort nicht geprüft.. so kann dir jemand gleich mal die komplette Datenbank leeren...

Beginne doch erst einmal mit den Grundlagen bevor du ein Projekt wie das oben verlinkte angehst. Wenn du eine bestimmte reicherwite erreicht hast kosten dir solche Fehler definitiv den Kopf, Geld....
 
Zuletzt bearbeitet:
Ich kenne mich mit PHP nicht wirklich aus. Aber so wie ich das sehe werden die Eingaben dort nicht geprüft.. so kann dir jemand gleich mal die komplette Datenbank leeren...

Beginne doch erst einmal mit den Grundlagen bevor du ein Projekt wie das oben verlinkte angehst. Wenn du eine bestimmte reicherwite erreicht hast kosten dir solche Fehler definitiv den Kopf, Geld....

Naja anstatt mir sagen "Lerne" tu dies nicht tu das nicht, wie wäre es mit "Damit es sicher ist werden die Daten in .... abgespeichert. Ich hab gehört das man auch ../ machen kann und die Daten hinter dem Public Folder uploaden kann.
 
Naja anstatt mir sagen "Lerne" tu dies nicht tu das nicht, wie wäre es mit "Damit es sicher ist werden die Daten in .... abgespeichert. Ich hab gehört das man auch ../ machen kann und die Daten hinter dem Public Folder uploaden kann.

Das ist nicht das Problem! Das Problem ist, dass ich in deine Suchbox einfach...

"; DROP TABLE foo; --

Um die gesamte Tabelle "foo" einfach in Luft auflösen zu lassen. Alternativ könnte ich auch einfach deine Datenbank bearbeiten und anfangen über deine Seite Viagra zu verkaufen. Lern dich doch erstmal in die Sprachen ein, bevor du versuchst n Projekt damit hochzuziehen.
 
Alternativ schau dir mal einfach zu bedienende CMS an, ich bin (relativer) fan von Wordpress. Relativ, da es für die meisten Fälle nicht optimal ist, da zu langsam und groß, aber es funktioniert :P

Damit kannst du deine Beiträge einfach einpflegen, Suchfunktion etc.pp ist schon dabei, für fast jedes Problem gibt's ein Plugin. Und wenn nicht, dann baut man sich halt selbst eins ;)
 
Wordpress wäre denke schon eher das richtige für ihn wobei er dort vermutlich bis auf etwas css und javscript nichts selber machen müsste da eigentlich alles für den täglichen gebraucht durch Plugins abgedeckt ist. Ob er darauf Lust hat kann nur er wissen aber es wäre besodners aus Gründen der Sicherheit doch ratsam auf ein System zu setzen wo Leute sitzen die schon einige Jahre Erfahrung mit dem Thema haben und wo nicht die simpelsten Sicherheitslücken entstehen. Sicherheitslücken gibt es bei Wordpress zwar aber das bleibt bei keinem System aus welches von Menschen entwickelt wird.

Neben Wordpress welches eher für eine Blogartige gestaltung der Seite geeignet ist gibt es noch diverse andere wie Joomla, Typo3, Drupal und Contao. Mir persönlich ist von den genannten Typo3 das liebste wobei dies für den TE sicher overkill wäre und ihn zunächst überfordern würde. Dort fängt man als Anfänger wohl am einfachsten direkt in Kombination mit Bootstrap an die schon eine halbwegs passable Grundlösung anbieten und fängt an diese zu modifizieren. Joomla und Drupal sind wieder näher an Wordpress. Es wird viel durch Plugins/Extensions abgedeckt und ist für Anfänger geeigneter. Persönlich fand ich aber die allgemeine Strukturierung im Vergleich zu Wordpress etwas unübersichtlich (vllt nicht lang genug mit auseinader gesetzt) sodass wir für sehr simple Onepager oder kleinere Firmenauftritte zumeist auf Wordpress zurück gegriffen haben. Ein weiterer Grund waren die sehr niedrigen Unterhalts und Einstiegskosten.
Plone wäre auch noch einen Blick Wert wobei ich damit noch nie ausreichend lange gearbeitet habe um mir eine vernünftige Meinung zu bilden.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh