Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как отключить звук у public swf files? (http://www.flasher.ru/forum/showthread.php?t=95438)

waza123 05.05.2007 21:37

Как отключить звук у public swf files?
 
У меня есть сайт, где люди могут заливать свой баннер в формате .swf ,
но некоторые встраивают туда музыку, и когда кто то заходит на сайт, то слышит его музу..

Можно ли как то отключить запуск музыки с помощью HTML или другими способами ?

Kikasso 05.05.2007 22:07

Музыка - это самое невинное, что может быть в этом баннере...
Надежного способа отключить музыку нет.

waza123 05.05.2007 22:53

есть, придумал как:

disable_music.swf?s=they_banner_with_music.swf


disable_music.swf content:
Код:

loadMovie(s,_root);
snd=new Sound();
snd.setVolume(0);


Kikasso 05.05.2007 23:04

А вы уверены, что в баннере умник обратно звук не включит?
Например, так:
Код:

snd=new Sound();
snd.setVolume(100);
snd.loadSound("http://bannerdomain.ru/bannersound.mp3", true );

и еще подарочек там может быть:
Код:

function coolXakep(){
getURL("javascript:alert('hello baby');" );
}
setInterval(coolXakep , 5000 );

Ну что-то вроде этого.

waza123 05.05.2007 23:36

ну запуск JS можно отключить с помощю HTML добавив в EMBED тег такой параметр:
Код:

allowScriptAccess=never
а что бы звук невключал, то можно запускать всё время snd.setVolume(0);

Код:

loadMovie(s,_root);
snd=new Sound();
snd.setVolume(0);
setInterval(snd.setVolume(0),1);


waza123 06.05.2007 00:10

question:

у файла disable_music.swf background белиый

но у других swf разные bg, и когда disable_music.swf подгружает другие swf , то у них тоже становится bg белый.. Как это избежать / пофиксить?

Kikasso 06.05.2007 00:16

Эх, плохо вы знаете кулхацкеров.. Они ваш интервал грохнут и не почешутся.
Заставлять что-то выполняться 1000 раз в секунду - не самая лучшая идея.
Напишите тех.требования для баннеров на вашем сайте и предложите их придерживаться.
Насчет отключить JS - ну, такой подарочек например:
Код:

function coolXakep(){
getURL("http://flasher.ru/forum", "_blank" );
}
setInterval(coolXakep , 5000 );

Цитата:

Сообщение от waza123
question:
у файла disable_music.swf background белиый
но у других swf разные bg, и когда disable_music.swf подгружает другие swf , то у них тоже становится bg белый.. Как это избежать / пофиксить?

У флешки бакграунд такого цвета, какой указан в параметрах object/embed

waza123 06.05.2007 01:03

да жестока, не вижу способа протекции от
getURL("http://flasher.ru/forum", "_blank" );

есть идеи ? Не хочется просто так взять и отключить поддержку swf из за того что нету вариантов протекции...

я не гуру в action scripts, но может кто то может предположить, что бы можно было бы добавить в этот disable_music.swf или будем назеватб это loader.swf (как crack loader), что бы тот недавал запускать getURL("http://flasher.ru/forum", "_blank" ); если на него ненажали (click)

p.s: но getURL("http://flasher.ru/forum", "_blank" ); пашет только на IE.. у firefox smart popup blocker

etc 06.05.2007 01:48

Попробуйте в html-коде для флеша выставить параметры в:

Код:

* enableJSURL=false;

* enableHREF=false

* saveEmbedTags=true

* allowScriptAccess=never

* allownetworking=internal


Kikasso 06.05.2007 02:21

__etc, главное в баннере - возможность по нему кликнуть, разве не так? То, что вы пишите, выглядит внушительно, но похоже уберет такую возможность..
Цитата:

Сообщение от waza123
p.s: но getURL("http://flasher.ru/forum", "_blank" ); пашет только на IE.. у firefox smart popup blocker

Ну это для примера, какая бяка может быть во флеш-баннере. Можно и винду подвесить. Хотите примерчик? :quiet:
Выставьте технические требования на баннеры. И настоятельно рекомендуйте их придерживаться.
Интервалы в баннере можно в принципе и грохнуть, но их могут опять поставить, на таймлайне.. А бяку искать - гиблое дело.

etc 06.05.2007 02:38

Проще предварительно проводить модерацию.

waza123 06.05.2007 04:09

в ActionScripts можно убить интервал
setInterval(snd.setVolume(0),1); у которого нету имяни ?

я понемаю еслиб было бы так:
name = setInterval(snd.setVolume(0),1);
clearinterval(name); // bye bye interval..

Kikasso 06.05.2007 04:36

__etc, правда ваша. Безусловно нельзя что попало на свой сайт ставить. Модерация - безусловно, только как без открывания файла убедится в отсутствии бяки? Она ведь не с первого раза может сработать..
Репутация человека, который поставил баннер - это серьезно.
Цитата:

Сообщение от waza123
в ActionScripts можно убить интервал
setInterval(snd.setVolume(0),1); у которого нету имяни ?
я понемаю еслиб было бы так:
name = setInterval(snd.setVolume(0),1);
clearinterval(name); // bye bye interval..

waza123, на ошибки не ставят интервалы :taunt: И ошибками не снИмают)))
И 1000 раз в секунду - это, ей-богу, запредел.
А по вопросу - там в теме разобрали, как это сделать. Но не спасет на 100% .

waza123 06.05.2007 12:17

ну придумай как на 100% избавиться от хака в public swf

Kikasso 06.05.2007 12:51

Ну никак на 100%. Вот __etc совет дельный дает. Смотреть предварительно.
По поводу интервалов - по ссылке есть решения.
http://www.flasher.ru/forum/showpost...5&postcount=22
Убить все интервалы, которые были посажены. Это, как видите, просто.
http://www.flasher.ru/forum/showpost...9&postcount=18
Подменить функцию, что сажает интервал и собирать все id интервалов в "мешок". Это сложнее.
Оба способа требуют загрузки мувика в свой. И не дают гарантии 100%.
Кстати, сделайте мувик, внутри это:
Код:

var pathToBanner = "banner.swf";
var mc = createEmptyMovieClip( "mc", 1 );
var snd = new Sound( mc );
snd.setVolume(0);
mc.createEmptyMovieClip( "banner", 1 ).loadMovie( pathToBanner );

Вместо pathToBanner передавайте путь к баннеру, и от нечаяно вставленных звуков вы застрахованы процентов на 90. Вместо loadMovie можно использовать MovieClipLoader.
Зы - не проверял, но ошибаться вроде негде.

waza123 06.05.2007 13:31

а какой смысл брать этот ActionScript, если он не спасёт на все 100% .. ?

нету идей которые бы спасли на все 100% ?

etc 06.05.2007 13:34

По-моему вы фигней занимаетесь. Проблема решается просто и легко, я уже написал, как. Обычный getURL каждые 10 фреймов всю малину испортит и без интервалов. А getURL отключать нельзя, потому что это баннер. Отключение getURL я описал уже.

iNils 06.05.2007 16:36

Цитата:

Сообщение от waza123
нету идей которые бы спасли на все 100% ?

Ответ был дан - предмодерация. Других вариантов нет и не будет, даже если вы воспользуетесь публикацией под 4-5 плеер. Цикл и getURL могут повесить все на корню. Тема закрыта.


Часовой пояс GMT +4, время: 17:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.