2012-06-22 4 views
1

iframe id에이 코드를 적용했습니다.Mozilla에서 iframe의 키와 마우스 클릭을 비활성화하십시오.

<iframe id='<?php echo 'fraDisabled'.$i.$post->ID; ?>' src='<?php echo $file['url']; ?>' ></iframe > 


function disableContextMenu() 
{ 

    var text="you dont have proper privelages to do this !!"; 
    window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.oncontextmenu = function(){alert(text); return false;}; 
    window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.onkeypress = function(){alert(text); return false;}; 
    window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.onmousedown = function(){alert(text); return false;}; 
} 

PHP :

<iframe id='<?php echo 'fraDisabled'.$i.$post->ID; ?>' src='<?php echo $file['url']; ?>'> 
</iframe> 

그것은 크롬에서 작동하지만 모질라 파이어 폭스에서 작동하지 않습니다.

+1

"Mozilla"는 Firefox를 의미합니다. – JJJ

+0

@Juhana 네가 맞다 – zulfi

+0

'''var text'에서''를 벗어나야한다. – user2428118

답변

2

어쩌면 텍스트 변수에 어 피스트 롤 '이있는 데 도움이되지 않을 것입니다.

변경 ...

var text='sorry you don't have permission to do this !!'; 

으로 ...

var text='sorry you don\'t have permission to do this !!'; 

또는 ...

var text="sorry you don't have permission to do this !!"; 

추가

또한 필요 프레임은 ID를 가질 때

파이어 폭스의 문제와 windows.frames['id']를 사용하는 것 같은데 단지 'id'

UPDATE에 마지막 2 줄의 ''id''을 변경합니다. <iframe>모두idname 속성에 당신이 생성하고 동적 ID를 추가

보십시오.

는 아직 정보의 또 다른 조각은

난 그냥 문제의 <iframe>는 PDF 문서를 포함 것을 발견 한 빛났습니다.

OP가 예상대로 Chrome이 클릭 및 컨텍스트 메뉴 이벤트를 실행하는 것으로 보입니다. 그러나 IE와 Firefox는 예상하지 못한 동작입니다.

불행히도 나는 그것에 대해 할 수있는 일이 있다고 생각하지 않습니다. 그리고 유용성의 관점에서 스크롤 막대를 사용하여 PDF를 스크롤하는 것도 불가능하게 만듭니다 (마우스 휠은 여전히 ​​작동 할 것입니다).

나는 여전히 name 속성이 window.frames 참고를 위해 FireFox에서 필요하다고 생각합니다.

+0

변경했지만 여전히 작동하지 않습니다. – zulfi

+0

예, @ 베거, 처음 답변을 제출 한 후에 나타났습니다 - 이미 편집 됨 – freefaller

+2

@ zulfi 그 경우에는 복사하여 붙여 넣을 수 있습니까 ** ** 정확하게 * 사용중인 자바 스크립트는 – freefaller

관련 문제