【发布时间】:2016-01-20 23:40:43
【问题描述】:
我正在为 Outlook Web Access 开发一个插件。我的插件只是一个使用带有target='_blank' 标记的按钮,它将用户发送到另一个页面。基于来自 Microsoft 的 document:
在受支持的 Web 客户端(例如 Excel Online 和 Outlook Web App)中,Office 加载项托管在使用 HTML5 沙盒属性运行的 iframe 中。不允许使用 ActiveX 组件或浏览 Web 客户端的主页。通过集成适用于 Office 的 JavaScript API 在 Web 客户端中启用 Office 加载项支持。与桌面客户端应用程序类似,JavaScript API 管理插件生命周期以及插件和 Web 客户端之间的互操作性。这种互操作性是通过使用特殊的跨帧发布消息通信基础设施来实现的。桌面客户端上使用的相同 JavaScript 库 (Office.js) 可用于与 Web 客户端交互。
由于提到的沙盒,当点击链接时,目标页面没有正确显示,并且显示部分。令人惊讶的是,如果我右键单击同一个链接并选择“在新选项卡中打开链接”,目标页面会很好地显示而不会丢失其内容。
我的问题是:
在 HTML 中使用属性 target='_blank' 与在浏览器中选择“在新选项卡中打开链接”选项有什么区别?以及我如何模拟“在新选项卡中打开链接”选项以使我的插件工作而无需用户右键单击链接。
附:我已经在 Firefox 和 Chrome 中尝试过,它们的行为相同。
【问题讨论】:
-
如果你使用
target="_self"会发生什么? -
使用
target="_self",链接消失,没有任何反应。该插件似乎在 iframe 中运行 -
此时我觉得这是 API 本身的问题。
标签: javascript html office365 outlook-web-app