我的应用程序生成PDF供用户使用.在"内容处置" HTTP标头设置为提到这里.这被设置为"inline; filename = foo.pdf",这对于Acrobat来说应该足以在保存pdf时将"foo.pdf"作为文件名.
但是,单击嵌入浏览器的Acrobat中的"保存"按钮后,要保存的默认名称不是该文件名,而是带有斜杠的URL更改为下划线.巨大而丑陋.有没有办法在Adobe中影响这个默认文件名?
URL中有一个查询字符串,这是不可协商的.这可能很重要,但在URL的末尾添加"&foo =/title.pdf"不会影响默认文件名.
更新2:我试过了两个
content-disposition inline; filename=foo.pdf
Content-Type application/pdf; filename=foo.pdf
Run Code Online (Sandbox Code Playgroud)
和
content-disposition inline; filename=foo.pdf
Content-Type application/pdf; name=foo.pdf
Run Code Online (Sandbox Code Playgroud)
(通过Firebug验证)可悲的是,都没有奏效.
一个示例网址是
/bar/sessions/958d8a22-0/views/1493881172/export?format=application/pdf&no-attachment=true
转换为默认的Acrobat保存为文件名
http___localhost_bar_sessions_958d8a22-0_views_1493881172_export_format=application_pdf&no-attachment=true.pdf
更新3:Julian Reschke为这种情况带来了实际的洞察力和严谨性.请提出他的回答.这似乎在FF(https://bugzilla.mozilla.org/show_bug.cgi?id=433613)和IE中被打破,但在Opera,Safari和Chrome中工作.http://greenbytes.de/tech/tc2231/#inlwithasciifilenamepdf
这令我很沮丧.它应该是非常简单的东西,但我不能让它在IE中工作.我想得到当前窗口的高度:不是滚动高度,不是文档高度,而是实际窗口高度.我试过window.innerHeight
哪个返回undefined
,document.documentElement.clientHeight
它给出了滚动高度.
我想从我的控制器显式调用一个视图.
现在我有:
def some_action
.. do something ...
respond_to do |format|
format.xml
end
end
Run Code Online (Sandbox Code Playgroud)
...然后它调用我的some_action.xml.builder视图.我该怎么称呼其他观点?response_to中有参数我错过了吗?
谢谢,
J.P
上下文:MobileSafari/iPad上的Web应用程序,全屏和嵌入在iframe中
目标:技术,提供自定义事件处理程序按和点击,但不 捏(变焦)或拖动(滚动/锅).我们希望为Press提供自定义行为,但让Safari仍然可以处理滚动/平移/缩放.
问题:这两个目标似乎是相互排斥的.要防止Press手势的默认行为,必须立即响应ontouchstart调用event.preventDefault.但是,要让Drag上的默认行为继续,我们不能在初始ontouchstart上调用event.preventDefault.一旦调用了preventDefault,就无法在该手势序列中恢复默认行为(即直到所有手指都脱落).在发生某些移动之前,无法识别拖动.
拖动被说明是最简单的示例,但我们也关心获取Pinch和Double-tap的默认行为.我们从不想要"复制图像"的默认MobileSafari按行为或选择文本.
到目前为止的尝试:
我们有一套全功能的手势识别器(以Javascript,ontouch*为单位),采用Apple 原生iOS手势识别器的风格.我们没有识别任何手势的问题,我们只是不知道复制Safari免费提供的缩放/平移/双击行为的好方法.
我们不需要代码; 我们正在寻找任何理论解决方案(除了"只是自己实现平移/缩放",但如果你有一种光滑的方式来做我们感兴趣的话),这将导致合理的成功.我们也有兴趣了解其他类似尝试这样做 - 当然我们不可能是第一个尝试这样做的人吗?
备用TL; DR:有没有办法阻止默认按下(也称为点击并保持)而不是触摸开始?