flex-iframe不能回调flex函数,不能正常加载完成问题

最近研究flex-iframe时发现源代码是在iframe的onload事件中回调了IFrame.as中的handleFrameLoad()函数来完成IFrame加载并调用之后用callIFrameFunction加入的JS函数。但是有时候发现这个又失效了,怎么都调不回handleFrameLoad函数,因此之后一直使用callIFrameFunction进行JS函数调用时全部失效(因为handleFrameLoad函数里把IFrame标识为已加载,如果没调用handleFrameLoad函数就不能进行别的操作了),因此只能自己主动触发这个函数了。

1、在IFrame.as的setupExternalInterface方法中的ExternalInterface.addCallback(_frameId + "_load", handleFrameLoad);语句后加入ExternalInterface.addCallback("on_load", handleFrameLoad);

2、在要加入的网页的window.onload事件中加入以下语句:parent.document.getElementById("SIP_ITS").on_load();SIP_ITS为FLEX应用的ID,on_load()为上一步加入的回调函数。

这样就主动回调了IFrame中注册的函数,也就完成了初始化的步骤了。


PS:最近又研究了一下,发现上面的不能回调_frameId + "_load"方法的原因是前台调用这个方法时出现了语法错误,不知道为何会产生这个错误。

猜想是因为回调函数名的问题,所以修改源代码的ExternalInterface.addCallback(_frameId + "_load", handleFrameLoad);为ExternalInterface.addCallback("on_load_" + _frameId, handleFrameLoad);,同时把IFrameExternalCalls.as的INSERT_FUNCTION_LOADIFRAME的onload改成"onLoad='\"+embedID+\".on_load_\"+frameID+\"();' ",这样就可以成功回调了。

分析下来原因可能是某些情况下不能回调方法名以数字开头的吧(因为frameID是数字)。

1、个人在线添加求职简历 2、个在线上传个人相片 3、首页显示最新新闻信息10条(可修改) 4、首页显示最新招聘信息10条(可修改) 5、首页显示最新求职信息10条(可修改) 6、注册用户可在线发送求职/招聘意向邮件 7、企业可发布多条招聘信息 8、企业自己删除招聘信息 9、个人/企业帐号注销 10、首页页尾导航采用数据库形式方便随时更改 11、首页所有广告及链接图片均为数据库形式更新更轻松 12、站内基本信息统计 13、在线人才新闻系统 14、在线政策法规发布系统 15、在线人事代理信息发布系统 16、企业营业执照图片在线上传 17、企业信息和招聘信息独立分开,更便于查看 18、院校用户注册功能(暂不提供) 19、培训机构注册(暂不提供) 20、猎头服务(暂不提供) 21、站内信件群发 22、新闻添加删除 23、政策法规信息添加删除 24、人事代理信息添加删除 25、系统后台管理可直接设置前台广告图片链接版权等信息 26、在线调查系统(以功能在vote.asp 和 votechk.asp页面上,本站没有使用 27、后台清空调查数据 28、招聘信息管理 29、后台管理分三级设置 30、系统管理员拥有所有权限 31、二级管理员可对所有用户及新闻、政策、人事等信息有管理权限 32、三级管理员只拥有新闻、政策、人事等信息的发布删除权 33、站内信件群发 34、首页广告图片后台直接设置,方便更换 35、首页链接及页面标题后台直接设置 36、后台添加管理员,删除管理员 37、后台修改管理员权限 38、站内信息搜索(本程序未程序,在search.asp 和 searchs.asp 页面上。)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值