2012-10-27 68 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