当点击浏览器关闭按钮时,我需要通过js调用actionscript 2函数。我怎样才能做到这一点?我试过这个,但没有运气。
AS2
import flash.external.*;
function test1() {
//do something
}
JS
<script type="text/javascript">
window.onbeforeunload = function(){
test1();
return 'text here' };
</script>
答案 0 :(得分:3)
我可以在动作3中实现这一点。
JS代码:
window.onbeforeunload = function(){
var flashObj = document.getElementById('fla');
flashObj.changeText("closing");
return 'text here'
};
AS代码:
ExternalInterface.addCallback('changeText', changeText);
ss.text = "ello"
function changeText(val)
{
ss.text = val;
}
这里的ss是动态文本字段。
答案 1 :(得分:0)
这可能是不可能的,我已经在onforeiload上使用,在服务器上加载图像,这实际上是一个php脚本
或者至少如果它确实有效将是浏览器特定的,因为chrome喜欢在onbeforeunload函数上阻止x-script和ajax调用,期望它也从flash实例中提取内存
然而,非常接近的事情应该是可能的
如果可能的话,将你的逻辑转移到javascript中,使用抓取图像hack进行服务器端通信,并返回一个字符串以向用户提供一个&#34;你确定要退出这个优秀的页面吗?&#34;风格问题
ps我不是指在javascript中重写所有内容,只是可以从javascript中调查用户正在做什么,所以当用户关闭页面时,javascript可以去#34;但是你当前正在编辑你真棒的XXXXX图像?&#34;其中XXXXX是从as2
进行javascript调查的最后一件事