我做了一个小网页,其中有一些模态窗口(jquery.simplemodal)。显示这些窗口时,它们应显示两个pdf文件(从服务器下载)。
<div id="modal1"> - hiden modal window
<embed src="/FileDownload?id=100" width="100%" height="600px">
<embed src="/FileDownload?id=150" width="100%" height="600px">
</div>
<table>
<tr>
<td>
<a href="#" onclick="return activate(modal1)"> Modal Window 1</a>
</td>
</tr>
</tale>
我遇到的问题是,当加载页面时,也会从服务器下载所有文件。
从HTML的角度来看,我已经读到没有办法避免这种情况。
你能否告诉我是否可以使用Javascript(例如在首次显示模态窗口时更新 src 的 embed 元素)?
在http://stackoverflow.com上我找到了一些关于更改元素属性的主题,但没有任何内容对我有用。
JavaScript: Changing src-attribute of a embed-tag
Can i open a modal window from file A and displaying file B on the modal window?
谢谢!
P.S。这是一个Intranet应用程序。我希望每次打开页面时都避免下载20-40个文件(每个文件几MB)。我想的另一个解决方案是使用Java小程序,但我认为这会使这个小项目复杂化。
答案 0 :(得分:1)
使用jQuery。我相信这就是你想要做的事情:如果你点击弹出模态的链接,只加载嵌入文件?
$("a").click( function (e) {
e.preventDefault();
$("#modal1").append("<embed id='100' src='/FileDownload?id=100' width='100%' height='600px'/><embed id='150' src='/FileDownload?id=100' width='100%' height='600px'/>");
$("#modal1").show();
});
答案 1 :(得分:0)
Web浏览器的本质是将文件下载到缓存,以便在下次访问时或在页面更改期间,显着时间大大减少。作为Web开发人员,您无法阻止此操作。用户可以在他自己的浏览器中关闭此功能,如果他希望保持其缓存清洁,但您和您的网站不能。有一些方法可以阻止观众有意下载图像或文件,例如禁用图像上的右键点击,但是精明的用户也有办法绕过这些方法。
特别需要下载PDF文件以加快查看速度。如果关闭此功能,用户体验将会非常慢,您可能会将人们赶出您的网站。
答案 2 :(得分:0)
即使无法完全保护您的文件,也有一些方法可以让您更难下载原始PDF文档,我们有一些PHP脚本可以帮助您在桌面发布者中找到(可用于GPL和商业)。
可免费下载,即使您不使用产品的其余部分,也可以抓取脚本。如果您下载它并在发布文档时可以扩展高级设置并勾选“签名和混淆”,您应该获得保护文件所需的脚本。