#javascript #jquery #html #flash
#javascript #jquery #HTML #flash
Вопрос:
Я не загрузил этот небольшой пример для jquery http://plugins .jquery.com/project/WebcamQRCode это плагин для веб-страницы, который отображает flash Player для захвата qr-кода через веб-камеру. Он показывает flash Player в Firefox и Chrome, но не показывает его в IE. У меня есть flash Player в 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 );
}
Спасибо!
Ответ №1:
IE нуждается в <param name="movie" value="blah.swf">
, вы должны добавить это в _flash
Вы могли бы даже добавить его <embed>
версию.
Смотрите, как структурировать Flash-объект, совместимый с несколькими браузерами, здесь: http://www.alistapart.com/articles/flashsatay
Или, что проще, вы могли бы использовать SWFObject: http://code.google.com/p/swfobject /
Комментарии:
1. Я включил параметр, но он не сработал, он по-прежнему не отображает его в IE, я проверяю swfobject!
2. Спасибо, я включил параметр etc непосредственно в html вместо .js, как показано в примере кода, который я опубликовал, и теперь он отображает его в IE. Спасибо!
Ответ №2:
Используйте 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>