我在page1.php中有以下代码:
<a href="page2.php" onClick="javascript:callFlash();">Go to page</a>这将在page1.php上调用Flash电影中的一个函数,和打开page2.php。
我的问题是:
我能确保在调用page2.php之前始终调用flash函数并完成执行吗?( flash函数实际上将一些数据保存到本地共享对象中)。
或者应该在完成后向getURL("page2.php");添加一些代码到闪存函数。
任何想法都欢呼
发布于 2009-06-17 14:39:48
如果您确实需要在完成闪存功能之后打开页面,那么唯一的保证方法就是像您已经知道的那样从闪存函数重定向。
发布于 2009-06-17 14:47:24
首先,在onclick属性中不包含"javascript:“伪协议。
尝试使用onclick="return callFlash()" --通过这种方式,浏览器必须等待JS函数完成后才能按照链接进行操作。我不知道用于作为函数调用的方法,但是如果它是同步的(即可以将数据返回给JS而不使用回调或其他什么),那么AS函数将在JS函数之前和页面重新加载之前完成。这应该是安全的。
发布于 2009-06-17 14:55:35
这个问题的答案是否定的。
有一个简单的解决办法。只需停止单击事件的传播,让flash执行重定向:
<a href="page2.php" onClick="stop_and_call(event);"/>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();
}https://stackoverflow.com/questions/1007451
复制相似问题