سؤال

كيف يمكنك تضمين ملف SWF في صفحة HTML؟

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

المحلول

أفضل طريقة لتضمين ملف SWF في صفحة HTML هي الاستخدام SWFObject.

إنها مكتبة JavaScript بسيطة مفتوحة المصدر، وهي طريقة سهلة الاستخدام وصديقة للمعايير لتضمين محتوى Flash.

كما يوفر الكشف عن إصدار مشغل الفلاش.إذا لم يكن لدى المستخدم إصدار Flash المطلوب أو قام بتعطيل JavaScript، فسوف يرى محتوى بديل.يمكنك أيضًا استخدام هذه المكتبة لتشغيل ترقية Flash player.بمجرد قيام المستخدم بالترقية، ستتم إعادة توجيهه مرة أخرى إلى الصفحة.

مثال من الوثائق:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject dynamic embed - step 3</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="swfobject.js"></script>

    <script type="text/javascript">
        swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
    </script>

  </head>
  <body>
    <div id="myContent">
      <p>Alternative content</p>
    </div>
  </body>
</html>

من الأدوات الجيدة التي يمكنك استخدامها مع ذلك SWFObject HTML وJavaScript مولد كهرباء.يقوم بشكل أساسي بإنشاء HTML وJavaScript الذي تحتاجه لتضمين الفلاش باستخدام SWFObject.يأتي مع واجهة مستخدم بسيطة جدًا لتتمكن من إدخال المعلمات الخاصة بك.

يوصى به بشدة وسهل الاستخدام للغاية.

نصائح أخرى

<object width="100" height="100">
    <param name="movie" value="file.swf">
    <embed src="file.swf" width="100" height="100">
    </embed>
</object>

ماذا عن تضمين علامة HTML5 البسيطة؟

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>

هذا مناسب للتطبيق من بيئة الجذر.

<object type="application/x-shockwave-flash" data="/dir/application.swf" 
id="applicationID" style="margin:0 10px;width:auto;height:auto;">

<param name="movie" value="/dir/application.swf" />
<param name="wmode" value="transparent" /> <!-- Or opaque, etc. -->

<!-- ↓ Required paramter or not, depends on application -->
<param name="FlashVars" value="" />

<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

يجب/يمكن إضافة معلمات إضافية تعتمد على .swf نفسه. لا تضمين, ، فقط هدف والمعلمات بداخله، لذلك يظل صالحًا وعاملاً وقابلاً للاستخدام في كل مكان، ولا يهم أي نوع!DOCTYPE يدور حوله.:)

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" 
style="width:640px;height:480px;margin:10px 36px;">

<param name="movie" value="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

إذا كنت تستخدم إحدى مكتبات js هذه لإدراج Flash، أقترح إضافة علامة تضمين كائن عادي بداخلها <noscript/>.

أنا أستعمل http://wiltgen.net/objecty/, ، فهو يساعد على تضمين محتوى الوسائط وتجنب مشكلة IE "انقر للتنشيط".

كما ذكرنا، كائن SWF رائع. جسم غامض يستحق نظرة كذلك

هذا سوف ينجح، أنا متأكد!

<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">

ما هي أفضل طريقة؟كلمات مثل "الأكثر كفاءة" و"العرض الأسرع" وما إلى ذلك.هي أكثر تحديدا.على أي حال، أنا أقدم إجابة بديلة تساعدني في معظم الأوقات (سواء كان "الأفضل" أم لا، فهو غير ذي صلة).

الإجابة البديلة:استخدم إطار iframe.

أي استضافة ملف SWF على الخادم.إذا قمت بوضع ملف SWF في المجلد الجذر أو public_html، فسيكون ملف SWF موجودًا في www.YourDomain.com/YourFlashFile.swf.

بعد ذلك، على ملف Index.html أو في أي مكان، قم بربط الموقع أعلاه بإطار iframe الخاص بك وسيتم عرضه حول المحتوى الخاص بك أينما وضعت إطار iframe الخاص بك.إذا كان بإمكانك وضع إطار iframe هناك، فيمكنك وضع ملف SWF هناك.اجعل أبعاد iframe مماثلة لملف SWF الخاص بك.في المثال أدناه، يبلغ حجم ملف SWF 500 × 500.

كود مزيف:

<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>

سيتضمن سطر تعليمات HTML البرمجية أعلاه ملف SWF الخاص بك.لا حاجة إلى فوضى أخرى.الايجابيات:متوافق مع W3C، صديق لتصميم الصفحة، لا توجد مشكلة في السرعة، نهج بسيط.
سلبيات:مساحة بيضاء حول ملف SWF الخاص بك عند تشغيله في المتصفح.

هذه إجابة بديلة.يعتمد ما إذا كانت هذه هي الإجابة "الأفضل" على مشروعك.

أعلم أن هذا سؤال قديم.لكن هذه الإجابة ستكون جيدة في الوقت الحاضر.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>histo2</title>
        <style type="text/css" media="screen">
        html, body { height:100%; background-color: #ffff99;}
        body { margin:0; padding:0; overflow:hidden; }
        #flashContent { width:100%; height:100%; }
        </style>
    </head>
    <body>
        <div id="flashContent">
            <object type="application/x-shockwave-flash" data="histo2.swf" width="822" height="550" id="histo2" style="float: none; vertical-align:middle">
                <param name="movie" value="histo2.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffff99" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            </object>
        </div>
    </body>
</html>

يمكنك استخدام JavaScript إذا كنت معتادًا على ذلك:

swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");

--الإصدار 9.0.0 هو إصدار الفلاش.

أو يمكنك استخدام <object> علامة HTML5.

لقد نجح هذا بالنسبة لي:

    <a target="_blank" href="{{ entity.link }}">
        <object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
            <param name="quality" value="high">
            <param name="play" value="true">
            <param name="LOOP" value="false">
            <param name="wmode" value="transparent">
            <param name="allowScriptAccess" value="true">
        </object>
    </a>

يعمل Thi على IE وEdge وFirefox وSafari وChrome.

<object type="application/x-shockwave-flash" data="movie.swf" width="720" height="480">
            <param name="movie" value="movie.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#000000" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="sameDomain" />
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </object>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top