注意 |
---|
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
1.需求背景
由于客户系统中的数据比较敏感,避免泄漏出去,故提出禁止复制粘贴的功能(针对各个类型的报表)。
...
类型:ClientSide(客户端宏) 对象:spreadsheetReport 事件:onRender
代码块 | ||
---|---|---|
| ||
function main(spreadsheetReport) { preventContextMenu(spreadsheetReport.elemSheetFrame); } function preventContextMenu(iframe) { var doc = iframe.contentWindow.document; var list = doc.getElementsByTagName("IFRAME"); for (var i = 0; i < list.length; i++) { function x(subIFrame) { preventContextMenu(subIFrame); subIFrame.onload = function() { preventContextMenu(subIFrame); } }; x(list[i]); } doc.documentElement.oncontextmenu = doc.body.oncontextmenu = function() { return false; //禁止鼠标右键 }; doc.onkeydown = function(e) { var ev = e || window.event; if (ev && ev.ctrlKey && ev.keyCode == 67) { // Ctrl + C return false; }else if (ev && ev.ctrlKey && ev.keyCode == 45){// Ctrl +insert return false; } }; doc.ondragstart = function() { return false; //禁止拖拽 }; } |
...
2.2 灵活分析宏
类型:ClientSide(客户端宏) 对象:simpleReport 事件:onRender
...