我正在为 Word 编写加载项。我有 Word 2016。在这种情况下Office.context.requirements.isSetSupported('WordApi', 1.1)
应该返回true
,但它返回false
. 并且Word
对象是未定义的。有任何想法吗?谢谢你。
Windows 7 企业版上的 Microsoft Word 2016 MSO (16.0.6326.1022) 32 位
以下是我的一些代码片段:
在head
我的html
我有这个:
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/Office.js" type="text/javascript"></script>
<script src="local/js/common.js"></script>
common.js 以
Office.initialize = function(reason) {
console.log(Office.context.requirememts)
if (Office.context.requirements.isSetSupported('WordApi', 1.1)) {
//never gets in here
}
else {
console.log("This add-in requires Word 2016 or greater.");
}
};
Office.context.requirememts
没有isSetSupported
功能_
更新:有一件事我认为不相关,但显然它是相关的。加载时我的 html 页面重定向到另一个 html 页面,这似乎是导致问题的原因。我有重定向的原因是因为当 xml 文件有
<SourceLocation DefaultValue="http://localhost/wordaddin/index.html"/>
代替
<SourceLocation DefaultValue="C:\WordAddIn\index.html"/>
html文件的内容被缓存,没有办法(至少我没有找到)清除这个缓存。因此,我在 index.html 中所做的任何更改都不会通过。所以在加载 index.html 时,我这样做window.location='main.html?'+datestamp
了,但后来我陷入了这种奇怪的境地。
这是 index.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script>
function init() {
var timestamp = new Date().valueOf();
window.location = "main.html?" + timestamp;
}
</script>
</head>
<body onload="init()">
</body>
</html>