[Решено] Ещё раз про JavaScript - встраивание флэшки через SwfObject

Главные вкладки

Аватар пользователя Eliont Eliont 15 июля 2011 в 14:55

Здравствуйте.
У меня есть страница в которую встраивается флэш посредством SwfObject2, а также в коде самой страницы есть скрипт, разбирающий запросную часть строки.

Подскажите пожалуйста, как это всё перенести на друпал?

Перерыл кучу страниц, но везде либо не было решения, либо авторы темы говорили что догадались... и оставляли решение при себе.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
        <title>New Project</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="language" content="en" />
        <meta name="description" content="" />
        <meta name="keywords" content="" />
       
        <script src="js/swfobject.js" type="text/javascript"></script>
        <script type="text/javascript">
   
        //alert("123");
        function getVarValueFromURL(varName) {
            var query = document.URL.substring(document.URL.indexOf('?') + 1);
            var vars = query.split("&");
            for (var i=0;i<vars.length;i++) {
                var pair = vars[i].split("=");
                if (pair[0] == varName) {
                    return pair[1];
                }
            }
            return null;
        }

        //alert(height+"x"+width);
                var flashvars = {};

                var params = {
                        menu: "false",
                        scale: "noScale",
                        allowFullscreen: "true",
                        allowScriptAccess: "always",
            wmode:"transparent"
                };
                var attributes = {
                        id:"NewProject"
                };
                swfobject.embedSWF("root.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);

</script>
       
        </script>
        <style type="text/css">
                html, body { height:100%; overflow:visible;}
                body { margin:0; }
       
        .flash{
            position:absolute;
            bottom: 5px;
            right: 5px;
            }
        </style>
</head>
<body bgcolor="gold">
        <div id="altContent" class="flash">
                <h1>New Project</h1>
                <p>Alternative content</p>
                <p><a href="http://www.adobe.com/go/getflashplayer"><img
                        src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
                        alt="Get Adobe Flash player" /></a></p>
        </div>
</body>
</html>
[code]

Комментарии

Аватар пользователя Alex Bacart Alex Bacart 15 июля 2011 в 15:36

Этот код сохраняем в файл script.js:

function getVarValueFromURL(varName) {
            var query = document.URL.substring(document.URL.indexOf('?') + 1);
            var vars = query.split("&");
            for (var i=0;i<vars.length;i++) {
                var pair = vars[i].split("=");
                if (pair[0] == varName) {
                    return pair[1];
                }
            }
            return null;
        }
 
        //alert(height+"x"+width);
                var flashvars = {};
 
                var params = {
                        menu: "false",
                        scale: "noScale",
                        allowFullscreen: "true",
                        allowScriptAccess: "always",
            wmode:"transparent"
                };
                var attributes = {
                        id:"NewProject"
                };
                swfobject.embedSWF("root.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);

Создаем ноду, в ней пишем:

drupal_add_js('path_to_file/swfobject.js', 'file');
drupal_add_js('path_to_file/script.js', 'file');

<div id="altContent" class="flash">
<h1>New Project</h1>
<p>Alternative content</p>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>

Должно получиться. У вас в коде кстати ошибка - лишний закрывающий тег для </script>.

Аватар пользователя Eliont Eliont 15 июля 2011 в 16:25

Большое спасибо, заработало когда немного подправил.

<?php
drupal_add_js('js/swfobject.js', 'file');
drupal_add_js('js/script.js', 'file');
?>

<script type="text/javascript">
swfobject.embedSWF("flash/root.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

<div id="altContent">
<h1>New Project</h1>
<p>Alternative content</p>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>

Только почему окно такое маленькое...

Аватар пользователя Alex Bacart Alex Bacart 15 июля 2011 в 16:51

Этот код взят из приведенного вами, поэтому не факт, что получится то, что надо, так что учите css и экспериментируйте )

Аватар пользователя Eliont Eliont 15 июля 2011 в 16:59

Ясно, спасибо.

Но насчёт размера окна - не знаю как формировать запрос.
Мне надо чтобы оно хотя бы до конца страницы было.

Аватар пользователя Alex Bacart Alex Bacart 15 июля 2011 в 17:03

"Cyber" wrote:
нужна обёртка с релативом, улетит нафиг

"Vydrin_AP" wrote:
Этот код взят из приведенного вами, поэтому не факт, что получится то, что надо