我想知道这是否可行而不诉诸某些复杂的解决方法。我有链接参考文档管理系统位置(没有.doc扩展名)。这些链接由于缺少扩展名,因此在Internet Explorer中打开,然后打开下载对话框。这导致Word不处理文档的打开,这会导致一些小的最终用户问题(延长启动时间等)。
有没有办法自动将链接重定向到Microsoft Word?我找到了一个解决方法,其中链接被标记为&#39;然后使用Active X将JavaScript打开到Word中 - 但这并不理想。据我所知,没有办法确定&#34;类型&#34;这样链接就会打开,好像它有.doc扩展名(即:<a href="***" type=".doc">~</a>
)。理想情况下,我只想要一个更多&#34; native&#34;在Word中而不是在IE中打开链接的方法。
答案 0 :(得分:1)
我知道你说你只能使用html,css和javascript,但我认为为了完整起见我会包括一些传统路线,如htaccess和php。最后三个是javascript解决方案,我敢打赌,5号是最有可能为你工作的。数字4将被弹出窗口阻止程序阻止,而数字3不会真正发送任何标题...
1).htaccess(放置在存放文件的文件夹中)
<Files *.*>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
2)使用php,你可以为每个文件设置标题
header("Content-disposition: attachment; filename=msword_doc");
header("Content-type: application/msword");
readfile("msword_doc")
3)iframe
<iframe id="iframe" src="" style="display:none"></iframe>
<script>
var frame = document.getElementById("iframe");
window.onload = setTimeout(function(){
frame.src="/directory/msword_doc";
},100);
</script>
4)window.open
<script>
window.open("/documents/msword_doc");
</script>
5)xmlhttprequest
<script>
var client = new XMLHttpRequest();
client.open('GET', '/documents/msword_doc');
client.setRequestHeader('Content-disposition', 'attachment');
client.setRequestHeader('Content-type', 'application/msword');
client.send();
</script>
旁注:并非所有单词文档都使用相同的mime类型 - 因此您的里程可能会有所不同。
答案 1 :(得分:0)
我担心你要么必须发送正确的mime类型(application / msword),要么至少使文件在适当的扩展(.doc)下可访问。如果您无法控制系统,那么您就是SOL。
你真的尝试过.doc扩展吗?我想你有,但有些系统设置为处理几个甚至是任意扩展,基本上告诉后端需要什么格式。然后它将使用适当的mime类型等发回该格式。