Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Flash

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ZeroClipboard
 
 автор: confirm   (24.08.2012 в 13:17)   письмо автору
 
 

Есть такой скрипт ZeroClipboard (а также плагин для jQuery zClip) использующий одну и туже флешку для работы.

Попробовал его для копирования кода со страницы:
а) если в качестве форматирования кода выбраны неразрывные пробелы  , то в итоге из буфера обмена получаем вместо них код hex-код A0, соответственно РНР редактор выдает ошибку синтаксиса таких строк.
б) замена этих символов на пробелы перед операцией копирования результатов не дает.
в) если обернуть код тегами <xmp> (соответственно &nbsp; не требуются), то копирование происходит отлично.

Появилось предположение, что это сама флешка корявит (хотя странно), распаковал, получил AS:
package 
{
    import flash.display.*;
    import flash.events.*;
    import flash.external.*;
    import flash.system.*;

    public class ZeroClipboard extends Sprite
    {
        private var button:Sprite;
        private var id:String = "";
        private var clipText:String = "";

        public function ZeroClipboard()
        {
            stage.scaleMode = StageScaleMode.EXACT_FIT;
            Security.allowDomain("*");
            var flashvars:* = LoaderInfo(this.root.loaderInfo).parameters;
            id = flashvars.id;
            button = new Sprite();
            button.buttonMode = true;
            button.useHandCursor = true;
            button.graphics.beginFill(13434624);
            button.graphics.drawRect(0, 0, Math.floor(flashvars.width), Math.floor(flashvars.height));
            button.alpha = 0;
            addChild(button);
            button.addEventListener(MouseEvent.CLICK, clickHandler);
            button.addEventListener(MouseEvent.MOUSE_OVER, function (event:Event)
            {
                ExternalInterface.call("ZeroClipboard.dispatch", id, "mouseOver", null);
                return;
            }// end function
            );
            button.addEventListener(MouseEvent.MOUSE_OUT, function (event:Event)
            {
                ExternalInterface.call("ZeroClipboard.dispatch", id, "mouseOut", null);
                return;
            }// end function
            );
            button.addEventListener(MouseEvent.MOUSE_DOWN, function (event:Event)
            {
                ExternalInterface.call("ZeroClipboard.dispatch", id, "mouseDown", null);
                return;
            }// end function
            );
            button.addEventListener(MouseEvent.MOUSE_UP, function (event:Event)
            {
                ExternalInterface.call("ZeroClipboard.dispatch", id, "mouseUp", null);
                return;
            }// end function
            );
            ExternalInterface.addCallback("setHandCursor", setHandCursor);
            ExternalInterface.addCallback("setText", setText);
            ExternalInterface.call("ZeroClipboard.dispatch", id, "load", null);
            return;
        }// end function

        public function setHandCursor(param1:Boolean)
        {
            button.useHandCursor = param1;
            return;
        }// end function

        private function clickHandler(event:Event) : void
        {
            System.setClipboard(clipText);
            ExternalInterface.call("ZeroClipboard.dispatch", id, "complete", clipText);
            return;
        }// end function

        public function setText(param1)
        {
            clipText = param1;
            return;
        }// end function
    }
}
Я не знаю AS, но вроде бы тут о замене ни слова. Или она в подключаемых может быть, типа system, external? Или может это связано с некоторыми особенностями самой Flash?

PS. Решено. Через промежуточный объект проблем не наблюдается, интересно только почему.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования