2016-11-11 2 views
0

Ich habe mehrere gelesen Q & A hier bezüglich der Änderung der Iframe src URL über Formular Post etc aber keiner scheint zu haben, was ich versuche zu erreichen. Verwenden Sie nach Möglichkeit jQuery oder JavaScript.Neue Iframe src, Monitor und neu laden auf Änderung

So habe ich index.html, die 1 iframe enthält.

<html> 
.. 
<iframe id="stream" marginwidth="0" marginheight="0" scrolling=no allowtransparency=true frameborder="0" framespacing="0" webkitallowfullscreen allowfullscreen name="stream" width="100%" height="100%" src="https://youtu.be/JIdaZ2EJ1Zk"> 
.. 
etc 
</html> 

Und auf einer anderen Seite habe ich eine form.html Datei, die mich für den iframe eine neue src URL veröffentlichen lassen. Ich versuche, die Quelle des iframe in index.html von form.html ohne Glück zu ändern.

Zum Beispiel wird der Benutzer die ursprüngliche iframe src beobachten.

Laufen vielleicht eine JavaScript-Überprüfung alle 5 Sekunden zu "erkennen iframe src ändern" oder eine bessere Methode ist willkommen. Es wird dann erneut den iframe von der Formularpost in die URL laden. Jede Hilfe ist sehr traurig geschätzt für die langatmige Frage an, ich bin schlecht zu erklären ..

Nutshell: Form nach neuem src url, src url Änderung erkennen und mit neuer URL src nur die iframe laden.

+0

gut. Benutzt du irgendeine Datenbank auf dem Beckend? Oder wie stellst du die URL ein? Wenn Sie über js verfügen, können Sie einen Anker in Ihrer ** form.html ** mit dem Attribut 'target' verklagen. Wenn Sie also die URL in form.html ändern, wird index.html erneut geladen. – GiuServ

+0

@GiuServ da 2 html-Dateien hochgeladen localserver vielleicht muss ich php oder ajax benutzen? – Yami

+0

Ich habe Ihnen gerade ein einfaches Beispiel der Lösung geschrieben, mit PHP und überhaupt kein Javascript. – GiuServ

Antwort

1

Sie könnten auch mit einer einzelnen Seite in PHP

<?php 
    if (isset($_POST['url'])) { 
?> 
    <iframe id="stream" marginwidth="0" marginheight="0" 
     scrolling=no allowtransparency=true frameborder="0" 
     framespacing="0" webkitallowfullscreen allowfullscreen 
     name="stream" width="100%" height="100%" 
     src="<?php echo $_POST['url']; ?>"> 
<?php 
    }else{ 
?> 
    <form action="" method="post"> 
     <input type='text' value="" name="url" /> 
     <input name="submit" type="submit" value="Show" /> 
    </form> 
<?php 
    } 
?> 

Hinweis machen, dass es eine sehr schnelle und einfache Lösung ist, eine einzelne Seite mit.

Sie könnten auch verwenden noch 2 differents Seite, Index- und Form, und retrive vielleicht die URL für die iframe von der Adresse

http://blablbal?url=foo 

und Zugriff auf die URL-Attribut mit $ _GET

note Es gibt keine Aktualisierung auf diese Weise, aber Sie können das Formular zum Festlegen der URL immer sichtbar halten und trotzdem eine einzelne Seitenlösung verwenden:

<html> 
    <form action="" method="post"> 
     <input type='text' name="url" 
      value="<?php echo(isset($_POST['url'])? $_POST['url']:'');?>" /> 
     <input name="submit" type="submit" value="Show" /> 
    </form> 
    <hr> 
    <?php 
     if (isset($_POST['url'])) { 
    ?> 
     <iframe id="stream" marginwidth="0" marginheight="0" 
      scrolling=no allowtransparency=true frameborder="0" 
      framespacing="0" webkitallowfullscreen allowfullscreen 
      name="stream" width="100%" height="100%" 
      src="<?php echo $_POST['url']; ?>"> 
    <?php 
     } 
    ?> 
</html> 
Verwandte Themen