2013-08-05 2 views
1

я хочу, чтобы закрыть веб-страницу, когда пользователь нажимает на кнопку в flash.this код, который я использовалкак закрыть веб-страницу во флэш-памяти

 public static function close():void{ 
//   ExternalInterface.call("window.close()"); 
      navigateToURL(new URLRequest("javascript:window.close();"),"_self"); 
     } 

этот подход кажется устаревшим в наши дни. он работает только на локальной странице, использует файл: /// для доступа, но доступ к нему удаленно, код не дал мне * *, даже не выкинул ошибку безопасности. Что я могу сделать ?

+0

Это может быть отключен по соображениям безопасности, это не очень здорово, когда вспышка объявление будет закрыть окно .. – MightyPork

+0

Вы могли бы попробуйте 'ExternalInterface.call ('window.close')', но не уверены, что это работает (причина безопасности @MightyPork указана) – putvande

+0

есть ли что-нибудь, что я могу с этим поделать? – user2003548

ответ

2

UPDATE:

Это к сожалению не помогает с светлячок. Проблема не в actionscript, а в том, как firefox обрабатывает функцию window.close(). Вы можете просто воспроизвести это, пытаясь вызвать window.close() непосредственно из javascript без каких-либо действий. Это ограничение безопасности. Есть некоторые смежные вопросы, ответы и возможные решения здесь:

Close windows that were not opened by script using javascript

и здесь:

How can I close a window with Javascript on Mozilla Firefox 3?

КОНЕЦ UPDATE


Я уверен, что это проблема безопасности. Посмотрите на консоль, нет ли чего-то похожего на следующее?

Скрипты могут не закрывать окна, которые не были открыты по сценарию. @ javascript: window.close();

Я предлагаю создать функцию в javascript, которая закроет окно и вызовет эту функцию с помощью внешнего интерфейса. Что-то вроде этого:

JS:

function closeWindow() { 
    ... 
} 

AS:

if(ExternalInterface.available) { 
    ExternalInterface.call("closeWindow"); 
} 
+1

это не работает – user2003548

+0

True. Наверное, у тебя проблема в firefox, верно? –

+0

Может быть '' allowScriptAccess = true "' может помочь? – Cherniv

Смежные вопросы