发布新的iframe src,监控并重新加载更改

时间:2016-11-11 08:28:41

标签: javascript php jquery iframe reload

我已经在这里阅读了多个关于通过表单等更改iframe src URL的Q& A,但似乎没有任何我想要完成的事情。如果可能,使用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 文件,可以让我为iframe发布一个新的src网址。 我试图从 form.html 更改 index.html 中的iframe的src而没有运气。

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

每5秒运行一次JavaScript检查,以及检测iframe src更改&#34;或者更好的方法是受欢迎的。 然后它会将iframe从表单帖子重新加载到url。任何帮助都非常感谢抱歉这个冗长的问题,我很难解释..

Nutshell:表单发布新的src网址,检测src网址更改并仅使用新网址src重新加载iframe。

1 个答案:

答案 0 :(得分:0)

您也可以使用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的网址

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>