您的位置:首页 > 移动开发 > Objective-C

实现打开文件、但不让用户保存

2010-06-21 17:26 155 查看
       前几天老大要求公司有些重要的文件(大多数是PDF),只允许查看,不允许保存和打印。要实现这个打开很容易,用个超链接在IE打开就搞掂了,但在打开之前,IE会自动弹出一个对话框,提供三个操作:打开、保存、取消。不用说,这一步就可以让用户保存文件了。其实网上有人建议用servet来做,在servlet里面读文件,然后返回给用户的只是文件的内容。但其实这跟超链接如出一辙,在文件显示之前,还有相应的操作让用户保存文件。但很多得一个朋友的网页内嵌的提示。让我解决了这个问题。

一、网页内嵌PDF

<table border="0">
<td>
<p style="margin-top: -57px; margin-bottom: 0" mce_style="margin-top: -57px; margin-bottom: 0">
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="Pdf1" width="730" height="606">
<param name="_Version" value="327680">
<param name="_ExtentX" value="19315">
<param name="_ExtentY" value="16034">
<param name="_StockProps" value="0">
<param name="SRC" value="1.pdf">
</object>
</td>
</tr>
</table>


stype ="margin-top:-57px"修改这个可以隐藏PDF中的“打印”,“另存为”按钮。

 

二、禁用网页的右键

      因为右击网页,可以实现网页的打印功能,所以有必要禁用网页的右键功能。

<mce:script language="JavaScript"><!--

if (window.Event)
document.captureEvents(Event.MOUSEUP);

function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;

return false;
}

function norightclick(e)
{
if (window.Event)
{
if (e.which == 2 || e.which == 3)
return false;
}
else
if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true
event.returnValue = false;
return false;
}

}

document.oncontextmenu = nocontextmenu;  // for IE5+
document.onmousedown = norightclick;  // for all others
// --></mce:script>


 

三、要求此网页的工具栏隐藏。

      因为我是用超链接打开新的网页来查看文件的,所以要求打开此网页时,toolbar = no

function PopUp(mypage, myname) {
winprops = 'height=950,width=1000,left=10,top=10,scrollbars=yes,dependent=yes,resizable=yes,toolbar=no,status=no,directories=no,menubar=no';
win = window.open(mypage, myname, winprops);
if (parseInt(navigator.appVersion) >= 4) { win.window.focus();}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息