Rails: как предотвратить переход по ссылкам при отображении файла SWF Flash - PullRequest
0 голосов
/ 22 марта 2010

Я ищу хороший способ предотвращения влияния ссылок в моем приложении rails, пока активен SWF-файл ...

Могу ли я сделать это с before_filter? Или мне нужен JavaScript?

Markus

Ответы [ 2 ]

0 голосов
/ 22 марта 2010

@ mplacona ответит хорошо, но вопрос в том, КАК вы вызовете эти функции, когда ваш SWF деактивирован. Если у вас есть доступ к источнику Flash, который создал SWF, вам нужно будет вызывать функции, используя ExternalInterface, но я не могу быстро найти способ определить, когда сцена была сделана невидимой ( это, конечно, обработчик событий на сцене). Однако вы, несомненно, делаете это в ActionScript, поэтому, где бы вы ни вызывали метод close, вы также можете вызывать метод ExternalInterface, который вызывает javascript с поддержкой ссылок.

Вы бы использовали что-то вроде этого:

ExternalInterface.call('changeLinks', 'enable');

в вашем ActionScript.

Надеюсь, это немного поможет.

0 голосов
/ 22 марта 2010

Для этого вам нужно будет использовать JavaScript, но если вы используете библиотеку, такую ​​как jQuery, это легко сделать.

Вы можете просто создать переменную JS после загрузки флэш-содержимого, а затем:

$("a#click").onclick = function() { return false; }

Это отключит все ссылки на странице.

Для повторного включения просто:

$("a#click").onclick = function() { return true; }

И все ссылки снова будут включены. очевидно, вам нужно будет добавить логику для включения и отключения ссылок, но основа для этого (мой собственный подход), как описано выше.

Надеюсь, это поможет вам

UPDATE

Как вы упомянули, у вас нет большого опыта работы с jQuery или JavaScript, я написал пример, который сделает это еще лучше.

Вместо того, чтобы отключать ссылки (что не очень удобно для пользователя), почему бы вам просто не спрятать их?

Я поместил пример этого здесь :, но код будет выглядеть примерно так:

function changeLinks(mode){
  if(mode == "enable"){  
      alert("links enabled")
      $("a").toggle(); 
  }
  else{
      alert("links disabled")
      $("a").toggle(); 
  }
}

Чтобы добавить jQuery на свою страницу, это просто:

<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

И здесь есть отличное введение в jQuery с Rails здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...