【发布时间】:2014-02-03 17:20:07
【问题描述】:
我需要创建一个基于浏览器的小型应用程序,帮助用户下载/保存,并可能打印到默认打印机,来自我们无法控制的网络服务器的大量文件(但我们事先拥有所有 URI) .
这些文件隐藏在“单点登录”(SSO) 后面,只能通过浏览器执行并且需要用户。因此,它必须是基于浏览器的解决方案,我们在其中搭载 SSO 建立的会话。
用户的平台是Windows 7。
重点是在用户需要执行此操作时(每天),避免用户对每个文件进行大量点击(下载、保存位置等)。
此时所有文件都是 PDF,但将来可能会改变。
首选与浏览器无关的解决方案(我认为在未来的浏览器更新方面会更加稳健)。
但如果需要,我们可以将其基于特定的浏览器。
你会如何使用 Javascript 来做到这一点?
【问题讨论】:
-
您是否尝试使用 Web 浏览器的下载管理器扩展程序?
-
我认为浏览器安全模型不允许这样做。脚本无法在用户不知情的情况下创建文件。
-
您不能在没有用户交互的情况下强制下载或打印任务。如果我把整个 Divina Commedia 作为一个笑话发送给你的打印机怎么办?
-
Firefox 是唯一能够轻松为附加开发人员提供此类功能的通用浏览器。 (好吧,如果您不介意下载最终位于预定义的文件夹(下载)中,那么 Chrome 也是一种选择,请参阅
chrome.downloads);虽然您所描述的内容听起来很像“浏览器自动化”,但有一些现有的工具可以做到这一点,例如 Selenium。 -
一些用户交互没问题(开始/接受过程)。关键是避免用户对每个文件执行一次(或多次)点击。
标签: javascript browser download