كيف يمكنني جعل فلاش cs3 وأكشن سكريبت يرسل الأحداث إلى جافا سكريبت؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

أنا أستخدم Flash لتشغيل مقطع فيلم بتنسيق .flv على موقعي، ولكنني أريد أن يقوم إرسال .swf بتشغيل حدث في جافا سكريبت الخاص بي عندما يبدأ التحميل ويبدأ التشغيل وينتهي التشغيل.

ما هي أفضل طريقة للقيام بذلك في Flash CS3 باستخدام Actionscript 3.0؟

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

المحلول

تحتاج إلى استخدام متغير الفلاش "allowScriptAccess" في HTML.ربما تريد استخدام "sameDomain" كنوع.لاحظ أنه إذا انتقلت عبر النطاقات، فستحتاج أيضًا إلى استضافة ملف خاص على الخادم يسمى "crossdomain.xml" والذي يمكّن مثل هذه البرمجة النصية (سيقوم مشغل الفلاش بالتحقق من ذلك.مزيد من المعلومات في http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2

المكالمة هي الجزء السهل.:-) في كود الفلاش، ستستخدم الواجهة الخارجية لإجراء المكالمة، كما هو موثق هنا:

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001655.html

نسخة مختصرة:قول انت

ExternalInterface.call("javascriptFunction", "argument")

نصائح أخرى

الطريقة الشائعة للقيام بذلك هي باستخدام الواجهة الخارجية فئة، والتي يمكنك استخدامها لاستدعاء أساليب جافا سكريبت.

قم أولاً بتعريف أساليب JavaScript، على سبيل المثال:

<script language="JavaScript">
    function startsPlaying()
    {
        // do something when the FLV starts playing
    }
</script>

ثم قم بتعديل ActionScript الخاص بك لاستدعاء طريقة JavaScript في الوقت المناسب:

// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");

لمزيد من المعلومات، راجع Flash CS3 ذي الصلة توثيق.

إذا كنت لا تريد التحميل

import flash.external.*;

لذلك يمكنك أيضًا القيام بذلك

getUrl("javascript:startsPlaying();");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top