2016-11-11 144 views
0

我已阅读多个Q & A关于通过表单post等更改iframe src URL但是似乎没有我想要完成的内容。如果可能,使用jQuery或JavaScript。发布新的iframe src,监测并重新加载更改

所以我有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网址。 我正在尝试更改iframe的src,index.htmlform.html没有运气。

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

运行可能每5秒检查一次JavaScript检查到“检测iframe src更改”或更好的方法是受欢迎的。 然后它将重新加载iframe到表单文章中的url。任何帮助是极大的赞赏遗憾的长篇大论的问题,我在解释坏..

果壳:形式发布新src网址,发现src网址变更并重新加载只能与新的URL src中的iframe中。

+0

好。你在beckend上使用了一些数据库吗?或者你如何设置网址?如果通过js,您可以使用'target'属性在您的** form.html **中起诉一个锚,所以当您在form.html中更改url时,index.html将被重新加载 – GiuServ

+0

@GiuServ上传2个html文件本地服务器也许我需要使用PHP或AJAX? – Yami

+0

我刚刚发布了一个解决方案的简单例子,使用PHP和没有JavaScript。 – GiuServ

回答

1

你也可以用一个单一的页面,使其在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型动物页,索引和形式,也许从地址

http://blablbal?url=foo 

retrive的URL iframe和使用$ _GET

访问的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>