首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我在href链接的同时调用一个闪存函数,那么flash函数总是会被执行吗?

如果我在href链接的同时调用一个闪存函数,那么flash函数总是会被执行吗?
EN

Stack Overflow用户
提问于 2009-06-17 14:37:01
回答 3查看 453关注 0票数 0

我在page1.php中有以下代码:

代码语言:javascript
复制
<a href="page2.php" onClick="javascript:callFlash();">Go to page</a>

这将在page1.php上调用Flash电影中的一个函数,打开page2.php。

我的问题是:

我能确保在调用page2.php之前始终调用flash函数并完成执行吗?( flash函数实际上将一些数据保存到本地共享对象中)。

或者应该在完成后向getURL("page2.php");添加一些代码到闪存函数。

任何想法都欢呼

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-17 14:39:48

如果您确实需要在完成闪存功能之后打开页面,那么唯一的保证方法就是像您已经知道的那样从闪存函数重定向。

票数 2
EN

Stack Overflow用户

发布于 2009-06-17 14:47:24

首先,在onclick属性中不包含"javascript:“伪协议。

尝试使用onclick="return callFlash()" --通过这种方式,浏览器必须等待JS函数完成后才能按照链接进行操作。我不知道用于作为函数调用的方法,但是如果它是同步的(即可以将数据返回给JS而不使用回调或其他什么),那么AS函数将在JS函数之前和页面重新加载之前完成。这应该是安全的。

票数 2
EN

Stack Overflow用户

发布于 2009-06-17 14:55:35

这个问题的答案是否定的。

有一个简单的解决办法。只需停止单击事件的传播,让flash执行重定向:

代码语言:javascript
复制
<a href="page2.php" onClick="stop_and_call(event);"/>

javascript:

代码语言:javascript
复制
function stop_and_call(e)
{
    if (!!(window.attachEvent && !window.opera)){
        // this is IE
        e.returnValue = false;
        e.cancelBubble = true;
    } else {
        e.preventDefault();
        e.stopPropagation();
    }
    e.stopped = true;
    callFlash();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1007451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档