2015-05-07 314 views
-2

我有一個顯示iframe的網頁instaframe.html。 我試圖創建一個網頁,我可以設置iframe src與輸入字段。我不知道什麼那麼如何做到這一點,或者如果它能夠在所有..從另一個網頁更改iframe src

Instaframe.html:

<html> 
    <head> 
     <title>InstaFrame</title> 
    </head> 
    <body> 
     <iframe src="http://snapwidget.com/in/?h=bWU5fGlufDEyNXwzfDN8fG5vfDV8bm9uZXxvblN0YXJ0fG5vfG5v&ve=070515" 
      title="Instagram Widget" 
      class="snapwidget-widget" 
      allowTransparency="true" 
      frameborder="0" 
      scrolling="no" 
      style="border:none; overflow:hidden; width:390px; height:390px" 
    </body> 
</html> 

Instaframe.html是在一個相框連接到監視器我的樹莓派在我的牆上。我的目標是能夠瀏覽到樹莓的網頁,並從那裏更改顯示器上顯示的iframe src。我有一個PHP網絡服務器安裝並運行在樹莓派上。

+0

取決於,大多數情況下,您根本無法做到這一點,因爲同源策略會阻止訪問跨源iFrame。 – adeneo

+0

@adeneo交叉原點策略不**影響'src'屬性。它隻影響訪問框架的窗口/ DOM以及與請求(AJAX,套接字等)有關的任何操作。 'X-Frame-Options'可能會阻止嵌入,但snapwidget.com並非如此 – Halcyon

回答

0

快速和骯髒的:

<input type="text" id="iframe_src" value="http://snapwidget.com/" /> 
<input type="button" id="iframe_src_button" value="Go!" /> 
<iframe id="iframe"></iframe> 
<script type="text/javascript"> 
    document.getElementById("iframe_src_button").onclick = function() { 
     document.getElementById("iframe").src = document.getElementById("iframe_src").value 
    }; 
</script> 

現場演示:http://jsfiddle.net/4b60o7h1/

這工作,因爲snapwidget.com不返回X-Frame-Options頭可能會阻止嵌入。例如谷歌和StackOverflow確實會返回這個標題,所以你不能嵌入它們。