FineUI 官方论坛
标题:
【已解决】求教:自定义一个菜单 想用JS刷新 iframe
[打印本页]
作者:
虫豸
时间:
2013-3-18 09:59
标题:
【已解决】求教:自定义一个菜单 想用JS刷新 iframe
用HTML自定义了一个菜单,我想通过点击菜单项来刷新 panel的 iframeURL
HTML的菜单不是FineUI控件所以我不能在后台设置iframeURL,所以我只能用JS来设置。
看了下源码
public string GetRefreshIFrameReference()
{
return String.Format("{0}.body.query('iframe')[0].contentWindow.location.reload();", ScriptID);
}
我换成JS代码如下:
var v=Ext.getCmp("RegionPanel1_Region2");
v.body.query('iframe')[0].src="http://www.google.com";
v.body.query('iframe')[0].contentWindow.location.reload();
结果还是没刷新页面。
哪位同仁碰到过这样的需求 帮忙解答下。
作者:
sanshi
时间:
2013-3-19 02:28
把页面的ASPX代码贴一下
作者:
虫豸
时间:
2013-3-19 03:39
本帖最后由 虫豸 于 2013-3-19 04:15 编辑
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="YFKindergarten.Demo" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function reload() {
//刷新iframeURL
var iframeT = Ext.getCmp("RegionPanel1_Region2");
iframeT.src = "http://www.baidu.com";
iframeT.body.query('iframe')[0].contentWindow.location.reload()
}
</script>
<style type="text/css">
li{ float:left}
</style>
</head>
<body>
<form id="form1" runat="server">
<ext:PageManager ID="PageManager1" runat="server" AutoSizePanelID="RegionPanel1"/>
<ext:RegionPanel ID="RegionPanel1" runat="server" ShowBorder="false">
<Regions>
<ext:Region ID="Region1" runat="server" Position="Top" ShowHeader="true" Split="false" Height="200px">
<Items>
<ext:ContentPanel ID="ContentPanel1" runat="server" BodyPadding="5px" ShowBorder="true"
ShowHeader="true" Title="ContentPanel">
<ol>
<li><a href="javascript:reload()">刷新iframe</a></li>
<li><a href="javascript:reload()">刷新iframe</a></li>
<li><a href="javascript:reload()">刷新iframe</a></li>
<li><a href="javascript:reload()">刷新iframe</a></li>
<li><a href="javascript:reload()">刷新iframe</a></li>
</ol>
</ext:ContentPanel>
</Items>
</ext:Region>
<ext:Region ID="Region2" runat="server" Position="Center" ShowHeader="true" Title="Center Region"
EnableIFrame="true">
</ext:Region>
</Regions>
</ext:RegionPanel>
</form>
</body>
</html>
作者:
sanshi
时间:
2013-3-19 14:45
更新后的代码:
<!DOCTYPE html>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<x:PageManager ID="PageManager1" runat="server" AutoSizePanelID="RegionPanel1" />
<x:RegionPanel ID="RegionPanel1" runat="server" ShowBorder="false">
<Regions>
<x:Region ID="Region1" runat="server" Position="Top" ShowHeader="true" Split="false"
Height="200px">
<Items>
<x:ContentPanel ID="ContentPanel1" runat="server" BodyPadding="5px" ShowBorder="true"
ShowHeader="true" Title="ContentPanel">
<ol>
<li><a href="javascript:reload('http://www.baidu.com')">刷新iframe</a></li>
<li><a href="javascript:reload('http://fineui.com/bbs')">刷新iframe</a></li>
</ol>
</x:ContentPanel>
</Items>
</x:Region>
<x:Region ID="Region2" runat="server" Position="Center" ShowHeader="true" Title="Center Region" IFrameUrl="about:blank;"
EnableIFrame="true">
</x:Region>
</Regions>
</x:RegionPanel>
</form>
<script type="text/javascript">
function reload(url) {
var region2 = Ext.getCmp('<%= Region2.ClientID %>');
var iframe = region2.body.query('iframe')[0];
iframe.src = url;
}
</script>
</body>
</html>
复制代码
注意:
1. 要设置 IFrameUrl="about:blank;" ,否则不会渲染 iframe 节点
2. Ext.getCmp得到的是extjs组件对象,而我们要找的是其中的iframe节点:region2.body.query('iframe')[0]
作者:
虫豸
时间:
2013-3-19 15:40
谢谢三石兄 {:soso_e183:}
作者:
yygy
时间:
2013-3-19 16:03
留个印记
作者:
过往烟云
时间:
2013-3-21 04:38
不错 用处比较多
作者:
JucaiYang
时间:
2013-3-24 04:15
保存一下先,以后用。
作者:
直尺画圆
时间:
2013-4-19 15:59
不错,收藏
作者:
不思议手
时间:
2013-6-7 17:57
本帖最后由 不思议手 于 2013-6-7 18:00 编辑
我想问呢,如果这个刷新不是在同一个页面,而是在另一个页面,要怎样才可以做到刷新那个frame呢?
我的帖子,
http://www.fineui.com/bbs/forum.php?mod=viewthread&tid=3170&extra=
作者:
F壹
时间:
2013-6-8 17:11
sanshi 发表于 2013-3-19 14:45
更新后的代码:
注意:
三石兄,看了你的很多代码,发现框架果真是越用越好用,js完美应用能解决相当多的问题,而且还能自己加些js的控件进去。
作者:
asp.net
时间:
2013-6-8 21:14
MARK MARK
作者:
舞柯庶
时间:
2013-6-14 11:47
留记号{:soso_e179:}
欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/)
Powered by Discuz! X3.4