Ms word 当Word加载项在我自己的设置中运行时,如何诊断验证失败?
我正在开发一个MS Word插件。我已经在Windows和Mac上测试过了,对我来说效果很好。Microsoft要求自己对加载项进行验证,以确保它们正常工作,而我的加载项对它们失败,即使它对我使用的Windows和Word版本相同 我和微软验证团队通了一个电话,他们唯一的建议是我发布一个关于堆栈溢出的问题,现在开始 这是适用于我的Windows和Word版本,但无法用于MS验证团队:Ms word 当Word加载项在我自己的设置中运行时,如何诊断验证失败?,ms-word,office-js,Ms Word,Office Js,我正在开发一个MS Word插件。我已经在Windows和Mac上测试过了,对我来说效果很好。Microsoft要求自己对加载项进行验证,以确保它们正常工作,而我的加载项对它们失败,即使它对我使用的Windows和Word版本相同 我和微软验证团队通了一个电话,他们唯一的建议是我发布一个关于堆栈溢出的问题,现在开始 这是适用于我的Windows和Word版本,但无法用于MS验证团队: Windows 10 Pro操作系统版本18362.295 Word 2016(特别是1908版) 为了调试
- Windows 10 Pro操作系统版本18362.295
- Word 2016(特别是1908版)
<Control xsi:type="Button" id="PB.Home.Button">
<Label resid="PB.Home.Button.Label"/>
<Supertip>
<Title resid="PB.Home.Button.Title"/>
<Description resid="PB.Home.Button.Desc"/>
</Supertip>
<Icon> ... </Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>navigateToWebPage</FunctionName>
</Action>
</Control>
这是FunctionFile.js的全部内容:
(function () {
Office.initialize = function (reason) {};
})();
function navigateToWebPage(event) {
window.open('https://www.example.com', '_blank');
event.completed();
}
在我的计算机上,单击按钮时,浏览器选项卡将与网页一起打开,但对于MS验证团队,此消息将显示在Word窗口底部的工具栏中
但没有其他事情发生
“专利机器人GCP正在处理您的考官统计数据”消息是由Word生成的,而不是由我的加载项生成的。“Patent Bots GCP”是外接程序的名称,“审查员统计信息”是按钮标签(清单中的短字符串之一)
对于如何找出Microsoft验证团队的失败之处,有什么建议吗?除了我在这里介绍的内容外,他们无法提供有关错误的任何详细信息
我希望微软的工程师能看到这一点,并能提供帮助
=====
可能是弹出窗口阻止程序的问题?请参见:继Ragavan的评论之后,我在IE11上搜索了window.open()
(IE11是Windows 10上MS Word中使用的浏览器)的意外行为
我发现了,注意到了
在具有默认设置的Windows 10上的IE中,如果执行
window.open()从我的
本地计算机或本地网络上的服务器,我得到空值
该问题进一步指出:
有趣的是,如果我为Intranet启用“启用保护模式”
区域(以便在Intranet区域和
互联网区域),然后问题就消失了
我怀疑这就是为什么我的外接程序可以在我的Windows 10计算机上工作,而不能在验证团队的Windows 10虚拟机上工作的原因
不幸的是,答案中提出的解决方案(w=window.open(“”)
后跟w.location=url
)在外接程序这个词中不起作用
虽然这并不能解决我的问题,但希望它能找到一个解决方案……根据Ragavan的评论,我在IE11上搜索了window.open()
的意外行为(IE11是Windows 10上MS Word中使用的浏览器)
我发现了,注意到了
在具有默认设置的Windows 10上的IE中,如果执行
window.open()从我的
本地计算机或本地网络上的服务器,我得到空值
该问题进一步指出:
有趣的是,如果我为Intranet启用“启用保护模式”
区域(以便在Intranet区域和
互联网区域),然后问题就消失了
我怀疑这就是为什么我的外接程序可以在我的Windows 10计算机上工作,而不能在验证团队的Windows 10虚拟机上工作的原因
不幸的是,答案中提出的解决方案(w=window.open(“”)
后跟w.location=url
)在外接程序这个词中不起作用
虽然这并不能解决我的问题,但希望它能找到解决方案……@gaefan。如果将来有人会遇到同样的问题,我也会加上我的答案
如果任何人试图使用JS window.open从外接程序中打开外部站点,则最终将出现Microsoft预期的对象aka验证失败错误。它取决于各种因素,如Windows 10构建版本、Office版本和
因此,要在应用程序源中成功发布外接程序,请执行以下操作:
注意:此方法是一种变通方法。但在不久的将来,如果新的边缘铬版本发布。将更改外接程序使用的浏览器。这样就可以消除解决方法。
如果要从外接程序打开任何外部站点,请使用任务窗格
外接程序方法李>
重新编译任务窗格
加载项的原因是您可以在HTML中使用锚定标记
,如下所示
<a
href="https://yourcompany.com/"
class="button-config"
target="_blank"
(click)="performOperation()"
>Sign up
</a>
单击事件的原因是触发任何分析功能
或触发日志
或添加自定义逻辑
这肯定会打开外部站点,而不会更改浏览器上的任何设置
如果您想继续使用基于命令的加载项
尝试添加新的操作或控制按钮
,通过锚定标记打开外部站点
希望它能帮助一些人。谢谢你。如果将来有人会遇到同样的问题,我也会加上我的答案
如果任何人试图使用JS window.open从外接程序中打开外部站点,则最终将出现Microsoft预期的对象aka验证失败错误。它取决于各种因素,如Windows 10构建版本、Office版本和
因此,要在应用程序源中成功发布外接程序,请执行以下操作:
注意:此方法是一种变通方法。但在不久的将来,如果新的边缘铬版本发布。将更改外接程序使用的浏览器。这样就可以消除解决方法。
如果要打开任何ex,请使用任务窗格
加载项方法
<a
href="https://yourcompany.com/"
class="button-config"
target="_blank"
(click)="performOperation()"
>Sign up
</a>