2012-10-27 65 views
0

我的頁面上有一個iframe,點擊(菜單)會根據他們選擇的菜單項更新iframe。在PHP中獲取iframe的「src」值?

我這樣做,通過調用從菜單中的「onClick」傳遞URL javascript函數:

function frameclick(pageurl) 
    { 
      $("#iFrame1").attr('src', pageurl);   
    } 

我想什麼時,他們按下一個菜單項是存儲裝什麼iframe來辦,因爲我有另一個按鈕(選擇頁面語言),當他們按下時,我想重新加載頁面,但通過當前顯示爲站點網址中的變量的iframe-url。

由於PHP是serverside和JS客戶端,我不能做前。 「$ current_iframe_url = pageurl」 - 這將使我能夠在刷新時將其作爲變量傳遞。

你知道我怎麼能解決這個問題嗎?

這工作正常。

我想現在要做的,就是每當他們點擊一個菜單項我想存儲URL

+0

有很好的理由爲什麼框架不受歡迎,你只是找到了一個。只是說。 – Boann

+0

Boann,據我所知,但如果你想要一個頁面不會完全重新加載大部分動作(菜單和顯示結果頁面),那麼將會怎樣。 – thorios

+0

先讓它無框架地工作。然後,爲了避免完全重新加載,請獲取菜單鏈接的onclick處理程序,以便使用[script/AJAX](https://developer.mozilla.org/en/US/docs/AJAX)中的一些內容替換內部區域,並結合[history.pushState](https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history)更新地址欄中顯示的URL。 – Boann

回答

0

每點擊創建一個隱藏字段保存在一個隱藏字段URL的值,那麼只有更改URL。那麼在那之後你可以簡單地使用ajax提交表單。 或者當用戶點擊時調用ajax函數,以便您可以將數據庫或會話中的url複製到任何你喜歡的地方。 樣品

function frameclick(pageurl) 
{ 
    $.post("server.php", { url: pageurl }); 
    $("#iFrame1").attr('src', pageurl);   
} 
your php server.php should do something like this 


if(isset($_POST['url']){ 
//INSERT IN TO DB 
} 
+0

可以說當我做語言選擇的刷新頁面(注意頁面不刷新每menuitem只有iFrame)我怎麼能檢索該值? 在我的onchange事件的語言選擇按鈕,即時通訊尋找如何做一個<「index.php?iframeurl = <?PHP echo $ current_page_url?」>我應該使用GET或什麼?注意:noob警報,所以希望你能忍受我。 – thorios

+0

當有人調用frameclick函數時,必須使用ajax保存url。 –

+0

剛剛編輯我的回覆(輸入文章的評論:/) - 但如何將ajax部分看? – thorios

0

以下方法獲得其URL小提琴,http://jsfiddle.net/sameerast/FUUz9/1/

希望這也是有幫助的,

$('iframe').bind('mouseover', function(){ 
    var iframeID = $(this).attr('src'); 
    $(this).contents().find('html').unbind(); 
    $(this).contents().find('html').bind('click', function(){ 
     alert(iframeID); 
    }); 
}) 

;

+0

感謝您的回答,但我不太清楚這是如何存儲iframe的URL? – thorios