2010-03-22 4 views
0

내가 SWF 파일이 활성화되어있는 동안 어떤 영향을 내 레일 응용 프로그램에서 링크를 방지에 좋은 방법을 찾고 있어요 표시되는 동안레일 : SWF 플래시 파일이

수 ... 클릭되는 링크를 방지하는 방법 before_filter를 사용하여이 작업을 수행합니까? 아니면 자바 스크립트가 필요합니까?

마르쿠스

답변

0

당신이 자바 스크립트를 사용해야합니다,하지만 당신은 jQuery와 같은 라이브러리를 사용하는 경우, 그것은 쉬워요입니다.

당신은 단순히 다음 플래시 컨텐츠가로드 일단 JS 변수를 만들 수 있습니다 :

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

이 페이지의 모든 링크가 비활성화됩니다.

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

을 그리고 모든 링크는 다시 다시 활성화됩니다

은 단순히 다시 활성화합니다. 분명히 링크를 활성화 및 비활성화하기위한 로직을 넣어야 할 필요가 있지만 그 기본이됩니다 (내 방식).

은 당신이 jQuery를 또는 JavaScript와 많은 경험이없는 언급 한 바와 같이, 내가 더 나은 그것을 할 것입니다 예를 쓴

UPDATE

당신에게 도움이되기를 바랍니다.

링크를 사용하지 않도록 설정하는 대신 (사용자 친화적이지는 않음) 단순히 숨기지 않으시겠습니까? 그리고 거기에

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

A :

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

페이지에 jQuery를 추가하려면, 그것은 쉽게로이다 :

나는 그것을 here 예를 넣어 :하지만 코드가 같은 것을 할 것입니다 Rails가있는 jQuery에 대한 훌륭한 소개 here

+0

안녕하세요, mplacona, 답장을 보내 주셔서 감사합니다. 아직 답변을 얻지 못했습니다. jQuery 란 무엇이며 어떻게 포함시킬 수 있습니까? 이 코드는 어디에 두어야합니까? # 이름 변수를 클릭하거나 무엇입니까? 당신이 자바 스크립트에서 꽤 새로운 뉴비를 본 것처럼 ... – Markus

+0

jQuery는 Scriptaculous, Dojo 등과 매우 유사한 JavaScript 라이브러리입니다.이 링크의 레일 프로젝트와의 통합에 대한 훌륭한 소개가 있습니다 : http://jimneath.org/2008/06/18/using-jquery 루비 온 레일즈 / –

0

@ mplacona의 응답은 괜찮지 만, 당신의 SW F가 비활성화됩니다. SWF를 만든 Flash 소스에 액세스 할 수있는 경우 ExternalInterface을 사용하여 함수를 호출해야하지만 스테이지가 보이지 않게되었을 때를 감지하는 방법을 빨리 찾을 수 없습니다 (스테이지의 이벤트 핸들러, 물론). 그러나 ActionScript에서이 작업을 수행하는 것은 의심의 여지가 없으므로 Close를 호출 할 때마다 링크 사용 가능 JavaScript를 호출하는 ExternalInterface 메서드를 호출 할 수도 있습니다.

이 같은 것을 사용하는 것이 :

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

당신의 ActionScript에서.

다소 도움이 되길 바랍니다.

관련 문제