禁止在SWF文件上右键单击操作

时间:2011-08-22 07:24:09

标签: html flash right-click

我有一个swf文件和一个显示swf文件的html页面。我想禁止右键单击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 个答案:

答案 0 :(得分:2)

要避免右键单击Flash SWF文件,请确保包含 BOLD 中显示的设置

我刚刚在 IE9 上测试了它的相关性      &lt; object classid =“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”codebase =“http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0 ,0“width =”540“height =”140“&gt;
    &lt; param name =“movie”value =“flashmovie.swf”/&gt;
    &lt; param name =“quality”value =“high”/&gt;
    &lt; param name =“allowScriptAccess”value =“always”/&gt;
    &lt; param name =“wmode”value =“transparent”/&gt;
    &lt; param name =“menu”value =“false”/&gt;
    &lt; embed src =“flashmovie.swf”
    质量=“高”
    类型= “应​​用程序/ x-冲击波闪光”
    WMODE = “透明”
    菜单= “假”
    宽度= “540”
    高度= “140”
    PLUGINSPAGE = “http://www.macromedia.com/go/getflashplayer”
    allowScriptAccess =“always”/&gt;
    &LT; /对象&gt;

取自 http://www.aleosoft.com/flashtutorial_disablerightclick.htm

答案 1 :(得分:1)

尝试将其放在HTML页面的HEAD下

<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>

(编辑代码仅用于格式化原因)

消息来源:Hypergurl

该页面上还有其他一些方法可以帮助您,但这似乎最容易实现。

此外,您也知道,如果您网站的访问者真的想要获取您的内容,那么除了不显示内容之外,没有任何方法可以阻止他们使用右侧的正确工具浏览器,我(和你)可以轻松地从网站上获取图像。

答案 2 :(得分:1)

方法:禁止在ID及其子项中禁用右键菜单

这个小代码将阻止用户右键单击给定的ID(可以轻松更改以适应任何对象)。只需确保您拥有包含ID的设置宽度和高度。

实施:

将此代码直接复制到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>

然后在你的身体中,找到你想要保护的元素(SWF Div)并添加属性id="swf-holder"

希望这对你有用,带我读一读。

我也为它制作了一个JSFiddle,链接是here