ext中tab切换导致swf所注册的方法丢失?

dageming 2011-04-15 05:33:30
项目由ext+flex开发,ext中tab一切换后,flex所addcallback的方法就调用不到了,在网上看见好多人提问,就是没有解决办法,真奇怪.我再发一次碰运气,index.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="<%=basePath%>ext/resources/css/ext-all.css" />
<script type="text/javascript" src="<%=basePath%>ext/ext-base.js"></script>
<script type="text/javascript" src="<%=basePath%>ext/ext-all.js"></script>
<script type="text/javascript" src="<%=basePath%>ext/ext-lang-zh_CN.js"></script>
</head>
<script type="text/javascript">
var tabs;
Ext.onReady(function(){
tabs = new Ext.TabPanel({
renderTo: 'my-tabs',
activeTab: 0,
deferredRender : false,
layoutOnTabChange : false,
autoTabs : true,
items:[
{
contentEl:'tab1',
title:'Tab 1'
},{
contentEl:'tab2',
title:'Tab 2'
}],
listeners:{'tabchange':
function(statu,tab)
{
if(tab.title=="Tab 1")
{
//alert("aaa");
}
}
}
});

});
</script>
<body >
<div id="my-tabs"></div>
<div id="tab1" class="x-hide-display">
<iframe id="map" src="test.html" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="1000">
</iframe>
</div>
<div id="tab2" class="x-hide-display">
hhgkjhkjhjhkjh
</div>

</body>
</html>

test.html的代码如下:
<!-- saved from url=(0014)about:internet -->
<html lang="en">

<!--
Smart developers always View Source.

This application was built using Adobe Flex, an open source framework
for building rich Internet applications that get delivered via the
Flash Player or to desktops via Adobe AIR.

Learn more about Flex at http://flex.org
// -->

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="AC_OETags.js" language="javascript"></script>
<style>
body { margin: 0px; overflow:hidden }
</style>
</head>

<body scroll='no'>

<form method="POST" action="--WEBBOT-SELF--">
<input type="Text" id="tt" />
<input type="Button" id="bb" onclick="on_click()"/>
</form>

<script language="JavaScript" type="text/javascript">
<!--
AC_FL_RunContent(
"src", "test",
"width", "50%",
"height", "50%",
"align", "middle",
"id", "test",
"quality", "high",
"bgcolor", "#869ca7",
"name", "test",
"allowScriptAccess","always",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
// -->
function findSWF(movieName) {
if (navigator.appName.indexOf("Microsoft")!= -1) {
return window[movieName];
} else {
return document[movieName];
}
}

function on_click()
{
var value=document.getElementById("tt").value;
//alert(value);

findSWF("test").test(value);
}

</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="test" width="50%" height="50%"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="flashVars" value=""/>
<param name="allowScriptAccess" value="always" />
<embed src="test.swf" quality="high" bgcolor="#869ca7"
width="50%" height="50%" name="test" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</noscript>

</body>

</html>
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dageming 2011-04-18
  • 打赏
  • 举报
回复
上面的程序就是最简单的弹对话框呀
ycproc 2011-04-15
  • 打赏
  • 举报
回复
你的事件没有触发  只这样的吗

如果是这样的话

你不运行程序

就单独的 弹一个对话框 能出来么?

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧