我可以在不使用JavaScript的情况下禁用右键单击我的网页吗?我问这个是因为大多数浏览器允许用户禁用JavaScript.
如果没有,我如何使用JavaScript禁用右键单击?
我们正在编写一个Web应用程序(不仅仅是一个网站,而是功能方面的实际应用程序),并对下一个版本进行以下讨论:
因此,我正在寻找"更可靠"的论点 - 比如最佳实践指南,来自信誉良好来源的任何陈述,编码论证等等 - 这个问题的利弊,我希望能够一劳永逸地解决这个问题. ...
是否有任何现有的代码示例,可以按照YouTube上发生的事情做类似的事情,从而可以“深层链接”到视频中的某个位置,而不是MP3?
例如,作为在YouTube上如何完成此操作的示例,正常链接为:http : //www.youtube.com/watch?v=W3ZHPJT2Kp4
可以在特定时间用鼠标右键单击播放位置图标,然后选择“在当前时间复制视频URL”,例如选择14s并获得这样的链接:http : //www.youtube.com/观看?功能= player_detailpage&v = W3ZHPJT2Kp4#t = 14s
我想通过深度链接到要在网页上播放的MP3来做同样的事情。
我见过一些HTML5 MP3播放器,例如Jplayer(http://www.jplayer.org),但是我还没有看到其中提供的这种功能。
有任何线索,提示和建议可以像这样开始实现吗?我想我更喜欢使用HTML5,但会考虑使用Flash。
更新(11/01/2012):当我单击“单击我!”时,我收到“ TypeError:'null”不是对象(正在评估'music.currentTime = att_hash ['a']')'。按钮。
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<!-- Website Design By: www.happyworm.com -->
<title>Demo : jPlayer as an audio player</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="http://www.jplayer.org/latest/skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript" src="http://www.jplayer.org/latest/js/jquery.jplayer.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
m4a:"http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a"
});
},
swfPath: "js",
supplied: "m4a, oga",
wmode: "window" …Run Code Online (Sandbox Code Playgroud) 我正在制作一个 HTML 5 游戏,需要使用右键单击来控制播放器。
我已经能够通过执行以下操作来禁用右键单击上下文菜单:
<body oncontextmenu="return(false);">
Run Code Online (Sandbox Code Playgroud)
然后我注意到,如果按住 Shift 并右键单击,Firefox 中仍然会打开上下文菜单!
所以我也通过添加这个 JS 来禁用它:
document.onclick = function(e) { if(e.button == 2 || e.button == 3) { e.preventDefault(); e.stopPropagation(); return(false); } };
Run Code Online (Sandbox Code Playgroud)
但是,如果您按住 Shift 键,然后在 Firefox 中双击鼠标右键,它仍然会打开!
请告诉我如何一劳永逸地禁用这个该死的东西(我什至愿意恢复到一些晦涩的、黑客的、不切实际的解决方案,只要它有效)。
我正在使用下面的代码在新窗口中打开页面,其按预期工作,但是当我右键单击“在新选项卡中打开”时,它会被“about:blank#blocked”阻止,我希望链接在新标签如何解决?
<a href="javascript:;" style="color:red;" onclick="window.open('http://www.la.unm.edu',null,'left=50,top=50,width=700,height=500,toolbar=1,location=0,resizable=1,scrollbars=1'); return false;">Limk</a>Run Code Online (Sandbox Code Playgroud)
我正在尝试仅使用 JavaScript 打开锚点上下文菜单,例如对于此 HTML:
<html>
<head></head>
<body>
<a href="https://stackoverflow.com" id="anchor-el"> Anchor </a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想仅使用 JavaScript 来打开带有本机“在链接新选项卡中打开”和“在新窗口中打开链接”选项的上下文菜单。
到目前为止,我已经尝试过这个,它似乎成功地将contextmenu事件分派到锚点,但上下文菜单实际上并未显示......
document.getElementById('anchor-el').dispatchEvent(new MouseEvent('contextmenu', { bubbles: true }))
Run Code Online (Sandbox Code Playgroud) 我希望用户能够右键单击并使自定义内容菜单有两种选择:
联系(带有链接https://rowurbux.weebly.com/contact.html) 支持(带有链接https://rowurbux.weebly.com/support.html)
<html>
<head>
<script type="text/javascript">
if (document.addEventListener) { // IE >= 9;other browsers
document.addEventListener('contextmenu', function(e) {
alert("You've tried to open context menu"); //here you draw your own menu
e.preventDefault();
}, false);
} else { // IE < 9
document.attachEvent('oncontextmenu', function() {
alert("You've tried to open context menu");
window.event.returnValue = false;
});
}
</script>
</head>
<body> Lorem ipsum... </body>
</html>Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题!
谢谢大家,
威尔
最好是 JS 或 HTML 答案
javascript ×6
html ×3
contextmenu ×2
anchor ×1
browser ×1
flash ×1
html5 ×1
mouseevent ×1
mp3 ×1
url ×1
window.open ×1