如果我在href链接的同时调用flash功能,则会始终执行flash功能吗?
-
06-07-2019 - |
题
我在page1.php中有以下代码:
<a href="page2.php" onClick="javascript:callFlash();">Go to page</a>
这会调用第1页上的Flash影片中的函数。和会打开page2.php。
我的问题是:
我可以确定在调用page2.php之前总是会调用flash函数并完成执行吗? (flash函数实际上将一些数据保存到本地共享对象)。
或者我应该在flash代码中添加一些代码到 getURL(&quot; page2.php&quot;);
。
任何想法 欢呼声
解决方案
如果你在flash功能完成后肯定需要打开页面,那么保证这一点的唯一方法是从你已经想到的flash功能重定向。
其他提示
首先,请不要包含“javascript:” onclick
属性中的伪协议。
尝试使用 onclick =&quot; return callFlash()&quot;
&#8212;这样,浏览器必须等待JS功能完成才能跟随链接。我不知道你用来调用AS函数的方法,但如果它是同步的(即可以在不使用回调或其他东西的情况下将数据返回给JS),那么AS函数将会在JS函数之前完成,并在页面重新加载之前完成。所以这应该是安全的。
问题的答案是否定的。
有一个简单的解决方法。只需停止click事件的传播,让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();
}
不隶属于 StackOverflow