2016-11-11 141 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>