Post 新的 iframe src,监视并在更改时重新加载

Post new iframe src, monitor and reload on change

我在这里阅读了多个关于通过表单 post 等更改 iframe src URL 的问答,但是 none 似乎有我想要完成的。如果可能,使用 jQuery 或 JavaScript。

所以我有 index.html,其中包含 1 个 iframe。

<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>

在一个单独的页面上,我有一个 form.html 文件,它可以让我 post 一个新的 src url 用于 iframe。 我正在尝试将 index.html 中的 iframe 的 src 从 form.html 更改为没有运气。

例如,用户将观看初始 iframe src。

运行 也许 JavaScript 每 5 秒检查一次以“检测 iframe src 更改”或欢迎使用更好的方法。 然后它将 iframe 从表单 post 重新加载到 url。非常感谢任何帮助对于我不擅长解释的冗长问题抱歉..

简而言之: 形成 post new src url,检测 src url 更改并仅重新加载带有 new [=49= 的 iframe ] 源码

您也可以在 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
    }
?>

请注意,这是一个非常快速和简单的解决方案,使用单个页面。

您还可以使用 2 个不同的页面、索引和表单,并可能从地址

检索 iframe 的 url
http://blablbal?url=foo

并使用 $_GET

访问 url 属性

注意 这种方式没有刷新,但您可以保持设置 url 的表单始终可见,并且仍然使用单页解决方案:

<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>