2012-10-19 35 views
1

比方說,我在主頁上獲得了一個鏈接, 和下一頁上的iFrame。將URL傳遞給一個iFrame超過兩頁

現在,我需要在主頁 上將鏈接傳遞給下一頁(點擊)上的iFrame, ,以便iFrame可以加載該URL。

我會如何處理這個沒有使用任何JS?

我知道如何在單個頁面上做到這一點,我點擊一個鏈接,只是目標的iFrame。 但是,通過兩個不同的頁面(通過URL)對我來說太高了。

在此先感謝!

回答

3

粗暴地說:

首頁:

<a href="nextpage.php?link=http://example.com">nextpage</a> 

Nextpage.php:

<iframe src="<?php echo $_GET['link'];?>"></iframe> 
1

編輯: 我不明白iframe窗口是否已打開。如果它已經打開,那麼你會希望我的方法,如果沒有閱讀Jevgeni Bogatyrjov方法,因爲這是正確的。 你會想看看Javascript,因爲PHP不會幫你完成任務。 首先,你需要使用JavaScript打開新窗口開始,像這樣:

new_window = window.open("page2.php", "window2", "height=120"); 

然後,你可以調用JavaScript函數從1個窗口中的其他類似

new_window.test(); 

因此,如果新頁面有一個iframe中,使用JavaScript你可以用一個函數改變I幀的源像

<a href="#" onlclick="new_window.test('newpage.html');">Link</a> 

在您將創建一個名爲test的功能與URL p中的其他頁面aramater,然後使用新參數更改iframe源。

1

你可以從主頁通過地址通過Get方法iframe中。 這與IFRAME的頁面:http://www.page-with-iframe.php 這是你想傳遞的網址:http://www.url-for-iframe.php

您可以添加主頁的鏈接的「網址換IFRAME」與功能BASE64_ENCODE編碼。該鏈接將是這樣的:

http://www.page-with-iframe.php?link=2jhGe2R6Wd5nJcrJgLgFrS7dCWiloJKf 

您可以用IFRAME的頁面使用BASE64_DECODE並傳遞給它獲得的網址。

再見

2

你基本上有兩種方法可以去:

只需創建一個具有鏈接作爲查詢字符串

<a href="page_2.php?link=mylinkusediniframe.com">Cick</a> 

而不是檢查鏈接的鏈接您的PHP文件:

$link = $_GET['link']; 
if (! preg_match("^(?:https?://)?(?:[a-z0-9-]+\.)*((?:[a-z0-9-]+\.)[a-z]+)", $link)) { 
    $link = null; 
} 

And f inally打印:

<iframe src="<?php print $link; ?>"> 

正則表達式是很好的解釋,我已經找到了:https://stackoverflow.com/a/10435670/1456376


另一種方法是:

商店的網址在會議上就第一頁面

優點是,用戶不能操縱顯示的URL(因爲他可以用第一個soluti只需更改地址欄中的網址即可)。

在第一個文件做:

$_SESSSION['link'] = 'http://mylink.com'; 

在第二隻需將它輸出:

<iframe src="<?php print $_SESSION['link']; ?>"> 
+0

此致也非常有幫助! – pixelschupser

+0

我很高興能夠幫助和歡迎SO。 :) – insertusernamehere