PDA

Просмотр полной версии : КАК onclick="javascript:window.open...???


kondesuk01
02.12.2005, 20:25
Как заставить кнопку открывать окно?

есть ссылка. кнопке по on (release)



передать код

<a href="#" ('/info.php?action=popup_salon_view&name=[CODE]', 'salon', 'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,width=500,height=300');">

???
ВОПРОС АРХИВАЖНЫЙ ! ПЕРВЫЙ РАЗ СТАЛКИВАЮСЬ С ТАКИМ! ;)

Antares
02.12.2005, 20:30
Самое простое -- опубликовать с генерацией FSCommand, в теле функции прописать case 'open_window', а в нем уже вызывать другую функцию.

Код для кнопки тогда будет

mybutton_mc.onRelease = function()
{
fscommand("open_window", строка_с_параметрами);;
}


Параметры передаются одной строкой, поэтому разбиваем их сплитом по ',' и юзаем спокойно.

На самом деле очень плотно работая с JS в последнее время начал понимать, что взаймодействие Flash <--> JS Макромедия сделала удобно.

kondesuk01
02.12.2005, 20:34
А если не button а кнопка??? Тогда как звучит ссыла?

Antares
02.12.2005, 20:37
Я никогда не использую тип символа Button. Ну, для отработки клика -- никогда, вообще иногда бывает полезна. Ибо архаизм это.

Поэтому куда ты повесишь код, мне не интересно. Главное понять принцип. Если ты его понял -- ура, если нет -- ну, объясню поподробнее...

KUZEN
02.12.2005, 20:38
А если не button а кнопка??? Тогда как звучит ссыла?

кнопка.onRelease = function()
{
fscommand("open_window", строка_с_параметрами);;
} :D

kondesuk01
02.12.2005, 20:39
У МЕНЯ ПАНИКА!!!!!!!!!!!!!!!!!!!!!!!


mybutton_mc.onRelease = function()
{
fscommand("open_window",'/info.php?action=popup_salon_view&name=[1]', 'salon', 'toolbar=0,location=0,directories=0,status=1,menub ar=0,scrollbars=1,resizable=0,width=500,height=300 ' );
}

не работает :(

kondesuk01
02.12.2005, 20:47
кнопка.onRelease = function()
{
fscommand("open_window", строка_с_параметрами);;
} :D

тьху ты...с mc перепутал :D

Antares
02.12.2005, 20:49
Мда.

FSCommand вызывает на странице функцию Do_FSCommand, передавая ей твои переменные. Так вот что делают: пишут блок switch с блоками case на каждую fscommand (не вызов, а тип команды), в ней разбивают параметры по запятой (ну или еще как, зависит от того, какую ты строку передал вторым параметром fscommand) и, ВНИМАНИЕ, используют как обычные JS переменные в обычной JS функции.

В 99% случаев -- вызывают другую функцию, отдавая ей нужные параметры из только что разобранных.

Пример:


function Do_FSCommand(command, arg)
{
if(command)
switch(command)
{
case 'open_window':
var args = arg.split(',');
open_window(args);
break;
}
}

function open_window(args)
{
var myWindowHandler = window.open ....

}

Antares
02.12.2005, 20:49
тьху ты...с mc перепутал :D
Никакой разницы. Кнопки -- архаизм.

iNils
02.12.2005, 20:52
Никакой разницы. Кнопки -- архаизм.
Не всегда.

Antares
02.12.2005, 20:56
Лишь в одном случае кнопка действительно сильно облегчает жизнь. И с кликом этот случай не связан. А вообще -- это совершенно другой разговор.

iNils
02.12.2005, 21:01
Согласен, другой. Только не надо делать категоричных заявлений. Если ты не находишь способы применения для кнопок, это не значит что их не находят другие.

Antares
02.12.2005, 21:07
Если ты не находишь способы применения для кнопок, это не значит что их не находят другие.
Если ты не прочитал в моем посте, что я их нахожу, это не значит, что дело обстоит именно так.

Еще один пост на эту тему -- и буду резать за флейм.

kondesuk01
02.12.2005, 21:10
Ребята, ничего страшного что я здесь? Лучше помогли бы человеку с проблемой... ;)
Ну очень сильно надо... :rolleyes:

Antares
02.12.2005, 21:19
И не стыдно тебе просить сделать все за тебя?

Flash:

trigger_mc.onRelease = function()
{
fscommand('open_window', 'http://www.macromedia.com, myTitle, 400, 300');
}


JavaScript:

function Do_FSCommand($command, $arg)
{
if(command)
switch(command)
{
case 'open_window':
var $args = arg.split(', ');
open_window($args);
break;
}
}

function open_window(args)
{
var myWindowHandler = window.open($args[0], $args[1], 'height=' + $args[2], 'width=' + $args[3]);
}


Функция Do_FSCommand генерируется для тебя автоматически, если ты выбираешь темплейт Flash with FSCommand. Правда переменные там называются по-умолчанию без $, это уже моя привычка так писать...

Antares
02.12.2005, 21:20
Тема закрыта, учимся думать, а не просить все сделать других.