إذا كنت استدعاء وظيفة فلاش في نفس الوقت a href رابط فلاش وظيفة دائما أعدم ؟

StackOverflow https://stackoverflow.com/questions/1007451

سؤال

لدي البرمجية التالية في page1.php :

<a href="page2.php" onClick="javascript:callFlash();">Go to page</a>

هذا يدعو وظيفة في فيلم فلاش على page1.php و يفتح page2.php.

سؤالي هو:

يمكنني التأكد من أن الدالة فلاش سوف تكون دائما يسمى والانتهاء من تنفيذ قبل page2.php هو اسمه ؟ (فلاش وظيفة في الحقيقة يحفظ بعض البيانات إلى كائن مشترك محلية).

أو يجب أن تضيف قليلا من التعليمات البرمجية إلى فلاش وظيفة getURL("page2.php"); عندما يكون القيام به.

أي أفكار هتافات

هل كانت مفيدة؟

المحلول

إذا كنت تحتاج بالتأكيد على فتح صفحة بعد فلاش وظيفة القيام به ، ثم الطريقة الوحيدة لضمان ذلك هو توجيه من فلاش وظيفة كما فهمت.

نصائح أخرى

أولا وقبل كل شيء لا تشمل "جافا سكريبت:" الزائفة البروتوكول في onclick السمة.

حاول استخدام onclick="return callFlash()" — هذه الطريقة المتصفح تنتظر شبيبة وظيفة لإنهاء قبل اتباع الرابط.أنا لا أعرف طريقة تستخدمها الدعوة كما الوظائف ، ولكن إذا كان متزامن (أييمكن إرجاع البيانات إلى شبيبة دون استخدام الاستدعاء أو شيء) ، ثم وظيفة سوف والانتهاء من قبل شبيبة وظيفة ، قبل إعادة تحميل الصفحة.لذلك يجب أن تكون آمنة.

الجواب على السؤال هو لا.

هناك وسيلة سهلة الحل.ببساطة التوقف عن نشر الحدث انقر فوق والسماح فلاش لا إعادة توجيه:

<a href="page2.php" onClick="stop_and_call(event);"/>

جافا سكريبت:

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();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top