2015-09-01 69 views
2

經過廣泛的搜索和實驗後,我得出結論:我的困境非常獨特,理論上很簡單,但如果被告知這是不可能的,我不會感到驚訝。重定向內容並填充iframe

簡介: 我想將頁面重定向到我網站上的另一個頁面,但不僅如此,一旦重定向,我希望該頁面的內容填充要重定向到的頁面的目標iframe。

例如: 要點擊的原始鏈接轉到Mysite.com/page1.php...在Mysite.com/page1.php的內容填充之前,它會重定向到Mysite.com/index.php, 然後mysite.com/page1加載到mysite.com/index中的目標iframe中。

更具體的: 我有一個WordPress的網站,我已經剝去標題/邊欄,當一個鏈接被訪問到單個帖子或頁面時,最終用戶正在查看我想要的精簡頁面出現在我的索引頁的iframe中,我已經自定義了鏈接和按鈕以與標籤,類別等相對應。

從我收集在這一點上它可能是不可能的,但任何類型的輸入將不勝感激謝謝:)

+0

這與過去使用的斷幀器代碼相反,以確保您不在幀內。你所做的是重定向到index.php。使用$ _SERVER ['HTTP_REFERER'],你可以看到哪個頁面被重定向到index.php。如果它是您網站上的頁面,則將其加載到iframe中。所以,原來的頁面不加載iframe,index.php .. – kainaw

+0

非常感謝你的反饋!我明白你的意思,但對我來說它仍然有點希臘,任何我能玩的示例代碼都將不勝感激,因爲我更善於「耳邊聆聽」......我並不完全知道這些東西 –

回答

0

你可以告訴page1.php中通過發送查詢瓦爾的index.php您的確切意圖。

例如......你你page1.php中重定向(但是你想)到index.php?顯示= page1.php中

然後...的index.php拿起查詢變量(即檢查它來自您創建的受限列表),然後顯示iframe但使用另一個查詢變量來停止page1.php重新導向。像重定向page1.php中=無

例如...

在index.php文件放頂:

$safe_list=array("page1.php","page2.php"); 
$show = (isset($_GET['show'])) ? $_GET['show'] : FALSE; 

if (in_array($_GET['show'],$safe_list)) { 
    print "<iframe src='" . $_GET['show'] . "?redirect=no'></iframe>"; 
} 

print "hello I'm index.php"; 
// rest of index.php 

在page1.php中(頂部發送任何東西之前到客戶端):

$redirect = (isset($_GET['redirect'])) ? $_GET['redirect'] : FALSE; 

if ($redirect!=='no') { 
    header("Location: index.php?show=page1.php"); 
    exit; 
} 

print "hello I'm page1.php"; 
// rest of page1.php proper 
+0

謝謝這麼多,其實我有這樣的想法,並認爲我會回來,並追加之前,我有任何答覆...所以即時通訊想知道是否有任何Java,我需要添加到我的PHP文件,以便它的工作?例如http://www.example.com/page1。php#specified-link –

+0

此外,這個指定的內容我想要顯示在我的index.php的目標iframe中,在這種情況下,我的iframe被命名爲'mainstage',所以任何你可以給我的視覺效果都會很有幫助再次感謝! –

+0

我剛纔描述瞭如何用PHP腳本來完成它。它不需要任何其他腳本。不知道它會如何適合你的Wordpress文件。假設您可以訪問index.php和page1.php來更改他們的PHP代碼。 –

0

爲什麼你不使用JavaScript,只加載你的網站的一部分在你的索引頁面? Here an example with jquery load() function

我不認爲iframe是一個很好的方法來做到這一點。

此外,您的頁面內的iframe內容將不會被搜索引擎看到。