Форум 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)
-   -   переопределить getURL (http://www.flasher.ru/forum/showthread.php?t=106440)

chudesno 11.01.2008 15:39

переопределить getURL
 
Здравствуйте.
Есть задача: нужно переопределить getURL так, чтобы вместо перехода по ссылке этот адрес просто выводился в консоль.

Проблема в том что таких функций две: одна в мувиклипе, другая глобальная.

Такой код срабатывает:
Код:

MovieClip.prototype.getURL = function (s) {
        trace  (s);
};
this.getURL("http://microsoft.com");

Но в большинстве случаев getURL вызывается без this, т.е., видимо, как глобальная.

Код:

trace (_global.getURL)
выводит undefined

Я пробовал так:
Код:

ASSetPropFlags(_global, null, 6, 1);
for (thisObject in _global) {
  trace(thisObject);
}

Т.е по идее должно вывести все, что лежит в _global.. и getURL'а там нет..

Подскажите, пожалуйста, можно ли переопределить getURL глобальный? Если да, то как?

iNils 11.01.2008 16:29

А зачем? :)

Fernando Costa 11.01.2008 16:42

Цитата:

Сообщение от iNils
А зачем? :)

я так понимаю для локального тестирования

chudesno 11.01.2008 16:45

Делаем флешку, она должна грузить свфки и проигрывать их, а если те пытаются по ссылке перейти, то вот такую штуку выводить вместо перехода.. Галлерея какая-то должна получиться :) Не знаю, чесно, зачем.. Мож и для тестирования.

Fernando Costa 11.01.2008 17:00

я бы переписал так для локального тестирования

Код:

function navigateToURL(site:Srting){
if(_root.IS_LOCAL){
    trace(site)
    return;
    }
    getURL(site)
}

IS_LOCAL - переменная во флешварс установленая в false. И вместо функции getURL использовал бы уже navigateToURL

а, ну еще параметры впихнуть можно (_blank _self) ;)

etc 11.01.2008 19:49

getURL является низкоуровневой функцией и представлена в виде отдельного действия в байткоде. Т.е. переопределить её подобным образом невозможно.

iNils 11.01.2008 19:53

Ну... если написать свой компилятор, то конечно можно будет. trace же mtasc переопределил.


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

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