Параметр строки запроса Javascript flashvar с swfobject - PullRequest
0 голосов
/ 05 ноября 2010

С помощью функций javascript в разделе head веб-страницы я смог проанализировать строку запроса и отправить ее в виде flashvar в swf, создав объект, встроенный с помощью одной из функций JS, следующим образом:

...

function writeFlash() {
 var width = '1024'
 var height = '500'
 var src = 'j.swf'
 var queries = 'im='+QueryString('im')+'.jpg'
 var l1 = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+width+'" height="'+height+'">;'
 var l2 = '<param name="movie" value="'+src+'" />;'
 var l6 = '<param name="flashvars" value="'+queries+'" />;'
 var l3 = '<param name="quality" value="high" />;'
 var l4 = '<embed src="'+src+queries+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed>;'
 var l5 = '</object>'
 document.write(l1+l2+l6+l3+l4+l5)
}

....

В теле страницы я вызываю эту функцию, чтобы открыть SWF следующим образом.

...

<script language="JavaScript" type="text/javascript">
<!-- 
writeFlash();
-->
</script> 

...

Вместо этого я использую SWFobject (который я также использую в другом месте для загрузки проигрывателя JW). Когда я пытаюсь перевести мое вложение в код swfobject, мне не удается перетасовать флешвар несколькими способами, которые я пробовал, пожалуйста, помогите.

1 Ответ

0 голосов
/ 05 ноября 2010

Но зачем это делать, когда во флэш-памяти вы можете просто сделать ExternalInterface.call("eval", "document.location.search")

Также не делайте с swfobject.Посмотрите статическая публикация , которая намного чище и лучше для новых браузеров.

Вот пример этого:

<!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 - 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.registerObject("myId", "9.0.115", "expressInstall.swf");
    </script>
  </head>
  <body>
    <div>
      <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>
    </div>
  </body>
</html>
...