Запретить действие правой кнопки мыши на SWF-файлах - PullRequest
1 голос
/ 22 августа 2011

У меня есть SWF-файл и HTML-страница, которая показывает SWF-файл.Я хочу запретить щелчок правой кнопкой мыши по SWF-файлу.Я не имею в виду удаление меню правого клика, я просто хочу запретить действие правого клика.Тогда, если вы щелкнете правой кнопкой мыши, ничего не произойдет.

Вот HTML-код:

<html>
<head><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('#swf-holder').bind("contextmenu", function(e) {
        return false;
    });
});
</script>


    <title>Help Me</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <style type="text/css">html {overflow: hidden;}</style>
    <style type="text/css">body { background-color: #07090e }#swf-holder { margin-top: 0px; width: 715px; position: center; top: 0px; left: 0%; margin-left: 0px; }</style>

</head>

<body>

<div id="swf-holder"><object id="content" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="715" height="580"><param name="movie" value="Main.swf" /><param name=quality value=best /><param name=bgcolor value=#07090e /><param name=allowScriptAccess value=always /><param name="wmode" value="opaque" /><object id="gecko" type="application/x-shockwave-flash" data="Main.swf" width="715" height="580" bgcolor=#4A4A4A wmode="opaque" quality="best"><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" border="0" alt="Get Adobe Flash player" /></a></object></object></div>

</body>
</html>

Любой трюк или идея для этого?

Ответы [ 3 ]

2 голосов
/ 12 сентября 2012

Чтобы избежать щелчка правой кнопкой мыши по флэш-SWF-файлу, убедитесь, что вы включили настройки, показанные в BOLD

Я только что проверил это на IE9









Взято из http://www.aleosoft.com/flashtutorial_disablerightclick.htm

1 голос
/ 22 августа 2011

Метод: Запретить контекстное меню в ID и его дочерних элементах

Этот небольшой код не позволит пользователю щелкнуть правой кнопкой мыши по указанному идентификатору (его можно легко изменить в соответствии с любым объектом). Просто убедитесь, что у вас есть установленная ширина и высота содержащего ID.

Для реализации:

Скопируйте этот код прямо в ГОЛОВУ.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('#swf-holder').bind("contextmenu", function(e) {
        return false;
    });
});
</script>

Затем в своем теле найдите элемент, который вы хотите защитить (SWF Div), и добавьте атрибут id="swf-holder"

Надеюсь, это сработает для вас, я немного почитал, чтобы найти его.

Я тоже создал JSFiddle, ссылка здесь

1 голос
/ 22 августа 2011

Попробуйте поместить это под заголовком вашей HTML-страницы

<script language="text/javascript">
var message="Function Disabled!";
function clickIE4() {
    if (event.button==2) {
        alert(message); return false;
    }
}
function clickNS4(e) {
    if (document.layers||document.getElementById&&!document.all) {
        if (e.which==2||e.which==3){
            alert(message); return false;
        }
    }
}
if (document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
} 
else if (document.all&&!document.getElementById) {
    document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("alert(message);return false")
</script>

(отредактированный код только для форматирования)

ИСТОЧНИК: Гипергурль

На этой странице есть и другие методы, которые могут вам помочь, но это кажется самым простым для реализации.

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

...