Flash-объект неправильно встраивается в IE - PullRequest
1 голос
/ 07 апреля 2011

Я скачал этот небольшой пример для jquery http://plugins.jquery.com/project/WebcamQRCode это плагин для веб-страницы, и он отображает флэш-плеер для захвата кода QR через веб-камеру. Он показывает Flash Player в Firefox и Chrome, но не показывает в IE. У меня есть флеш-плеер в IE, потому что я попробовал проект на этой веб-странице http://blog.jactionscripters.com/2009/05/23/introduction-of-qr-code-reader-library/, и он отображает код qr.

Кто-то сказал мне проверить, было ли оно внедрено с помощью swfobject, и я проверил файл .js проекта, и он встраивает его как swfobject, кто-нибудь может мне помочь определить, в чем может быть проблема?

это часть кода в jqery.webcamqrcode.js

  $.WebcamQRCode.start = function( $this ){
        var _flash = $('<object></object>');
        var _messageNoFlash = $('<p></p>');
        var __options = $this.data( 'webcam_qrcode_options' );

        // Set message if no flash
        _messageNoFlash.text( __options.messageNoFlash );

        // Set flash object information
        _flash.attr( 'type', "application/x-shockwave-flash" );
        _flash.attr( 'data', __options.path + "swf/webcamqrcode.swf?ID=" + $this.attr( '_webcam_qrcode_id' ) );
        _flash.attr( 'width', "100%" );
        _flash.attr( 'height', "100%" );
        _flash.append( _messageNoFlash );

        $this.html( _flash );
    }

спасибо!

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Используйте SWFObject для встраивания Flash.Нет абсолютно никаких причин не делать этого.Вам даже не нужно размещать скрипт самостоятельно, Google сделает это за вас: http://code.google.com/p/swfobject/wiki/hosted_library

Пример:

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
    <script type="text/javascript">
    var flashvars = {"ID": WEBCAM_QRCODE_ID}; // fill in this value
    var params = {};
    var attributes = {};
    swfobject.embedSWF("path/to/webcamqrcode.swf", "flash", "100%", "100%", "9.0.0", null, flashvars, params, attributes);
    </script>
  </head>
  <body>
    <div id="flash"></div>
  </body>
</html>
0 голосов
/ 07 апреля 2011

IE нужно <param name="movie" value="blah.swf">, вы должны добавить это к _flash

Вы можете даже добавить <embed> версию.

Посмотрите, как структурировать мультибраузерный совместимый объект Flash здесь: http://www.alistapart.com/articles/flashsatay

Или, проще, вы можете использовать SWFObject: http://code.google.com/p/swfobject/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...