使用jQuery在iframe(Word,PowerPoint,Excel)中查看文件

问题描述 投票:2回答:1

我有一个HTML页面,该页面的顶部通过下拉菜单/无序列表显示了许多链接(使用Bootstrap 3导航栏)。这些链接转到内部服务器上托管的MS Office文档(Word,Excel,PowerPoint)。

通过单击链接,我希望它们在同一页面的iframe中打开,而不是使用单独的页面或下载。

我尝试了以下操作,但这总是为我打开标准弹出窗口,以保存文件或在单独的窗口中打开它。

有人可以告诉我我在做什么错吗?例如。除了刷新iframe还可以进行其他操作?

链接的我的HTML下拉列表(仅一项):

<li type='disc'><a href='javascript:void' class='navLink' name='test.pptx'>Text</a></li>

我的iframe HTML:

<iframe src="#" width="100%" height="auto" frameborder="0" id="iView" name="iView"></iframe>

我的jQuery:

$(document).on('click', '.navLink', function() {
    var fileName = $(this).attr('name');
    var fileLocation = 'http://somefilepath/uploads/';
    var fileSource = fileLocation + fileName;
    $('#iView').prop('src', fileSource);
});

编辑

如果这种方法不起作用,有没有一种方法可以将MS Office文档嵌入HTML网站中?

javascript jquery html iframe src
1个回答
5
投票

问题是您的Web服务器返回带有“ Content-disposition:附件” HTTP标头的文件。这将提示另存为/打开对话框。您想要的是内联附件。

此处有更多信息:

Content-Disposition:What are the differences between "inline" and "attachment"?

注意:无法在客户端上处理(即通过JS),您需要修改服务器应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.