在没有.doc扩展名的情况下在Word中打开Word文档链接(重定向)

时间:2014-07-25 13:36:30

标签: javascript html internet-explorer ms-word content-management-system

我想知道这是否可行而不诉诸某些复杂的解决方法。我有链接参考文档管理系统位置(没有.doc扩展名)。这些链接由于缺少扩展名,因此在Internet Explorer中打开,然后打开下载对话框。这导致Word不处理文档的打开,这会导致一些小的最终用户问题(延长启动时间等)。

有没有办法自动将链接重定向到Microsoft Word?我找到了一个解决方法,其中链接被标记为&#39;然后使用Active X将JavaScript打开到Word中 - 但这并不理想。据我所知,没有办法确定&#34;类型&#34;这样链接就会打开,好像它有.doc扩展名(即:<a href="***" type=".doc">~</a>)。理想情况下,我只想要一个更多&#34; native&#34;在Word中而不是在IE中打开链接的方法。

2 个答案:

答案 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类型等发回该格式。