我已禁用页面上所有位置的右键单击,但仅禁用了我动态生成的pdf文件,因此无法禁用它。
下面是HTML部分
<app-card *ngIf="show">
<embed [src]="Url" type="application/pdf" width="100%" height="1000px" EnableContextMenu='0' >
</app-card>
这是TS部分,我也已经清理了URL。
this.busy = this.http1.post('http://192.168.1.183:8200/api/auditUser', data).subscribe((res) => {
if (res == 'Record Not found') {
swal('No Record Found', 'Please Try Again', 'warning');
this.show = false;
} else {
this.pdfPath = res;
this.toolbar = '#toolbar=0';
this.pdfSrc = 'http://192.168.1.183/' + this.pdfPath + this.toolbar;
this.Url = this.sanitizer.bypassSecurityTrustResourceUrl(this.pdfSrc);
this.show = true;
}
});
答案 0 :(得分:1)
让我们尝试一次,
<script type="text/javascript">
document.onmousedown = disableRightclick;
var message = "Right click not allowed !!";
function disableRightclick(evt){
if(evt.button == 2){
alert(message);
return false;
}
}
</script>
第二种方式
<html>
<body oncontextmenu= "return false;">
Right Click not allowed on this page
</body>
</html>
引用链接
为您提供最终解决方案
Embed PDF on a webpage and prevent download
这些只是一个建议。
答案 1 :(得分:1)
您可以使用Host属性禁用应用卡组件
host属性用于将事件绑定到所有属性 该特定的类组件
在应用卡装饰器中,您需要定义主机属性
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ],
host: {
'(contextmenu)': 'disableClick($event)'
}
然后,您需要在应用卡类中定义方法
private disableClick(e){
e.preventDefault();
}
在此处检查此示例:https://stackblitz.com/edit/contextmenu-clickoutside