![]() |
"Error calling method on NPObject!" при вызове метода через JS
Давно не виделись ;)
У меня вот такая странная проблема: У меня есть флешка, использующая google maps api. Мне потребовалось снять с нее скриншот таким образом, чтобы можно было получить к нему оступ из яваскрипта страницы. Выглядит, естественно, примерно так: Код AS3:
Если на странице вызвать Код:
myFlashElement.getScreenshot()Код:
Uncaught Error: Error calling method on NPObject.Код:
"Error in Actionscript. Use a try/catch block to find error."Попробовал на всякий Security.AllowDomain("*") - не помогло. Из шизофреничных соображений попробовал также явно указать домены - тоже не помогло. Подскажите, пожалуйста, в чем может быть проблема :-\ Добавлено через 5 минут Локально, кстати, тоже не работает :( Добавлено через 2 часа 56 минут А вот интересно... если не опубликовывать с помощью SWFObject, а запустить обычный тест в браузере при публикации, то все работает. Неужели проблема из-за публикации с помощью SWFObject? Добавлено через 3 часа 12 минут Ух ты ж блин, заметил, что у меня не дебаговый плеер стоит. Поставил дебаговый и получил замечательное сообщение: Код:
SecurityError: Error #2122: Нарушение изолированной среды: BitmapData.draw: http://127.0.0.1:8000/i/flash/card_location.swf?ver=1.0.2 не может осуществить доступ к http://mt0.google.com/vt/lyrs=m@148&hl=ru&src=api&x=0&y=0&zoom=16&s=. Необходим файл политики, но, когда были загружены эти мультимедийные данные, флаг checkPolicyFile не был установлен. |
Грузить можете, показать можете, но draw сделать не можете! Поищите в блогах у Dimarik'a способы обхода этой штуки ))
|
Спасибо, посмотрю :) Странно, всегда казалось, что если нет разрешения в кроссдоменном файле, то и на сцену нельзя добавить изображение.
|
Можно, только срисовать нельзя.
|
Хех, вот этот пост http://www.flasher.ru/forum/blog.php?b=208 действительно многого стоит, но, к сожалению, мне ничем не поможет, т.к. у меня нет доступа непосредственно к изображениям (API не дает). Можно, конечно, распаковать swc и вручную модифицировать все, но это уже против правил использования API гугла.
Эх, придется им писать в поддержку и надеятся, что они разрешат отрисовывать карту, но я сильно сомневаюсь в таком исходе :) Добавлено через 2 минуты В реальной же жизни, видимо, придется искать серверное решение для снятия скриншотов. |
Ну, можно просто сделать замену их класса.
|
Да, можно, но это опять идет против лицензионного соглашения (нельзя обращаться к файлам карты никак , кроме как посредством официального API, который предоставлен в виде swc). Если бы я делал это для себя, мне бы, в принципе, было бы на это наплевать. Но делаю для компании, которая нарушать соглашения не хочет :)
|
| Часовой пояс GMT +4, время: 13:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.