如何修改Office.context.ui.displayDialogAsync对话框标题去除默认前缀
嘿,这个问题其实有两种靠谱的解决办法,取决于你需要兼容的Office版本:
方法一:直接在对话框配置中设置title(推荐,适用于新版Office)
较新的Office JS API(Office 2019及以后、Office 365订阅版)支持在displayDialogAsync的options参数里直接指定标题,这样就能完全去掉默认的“Message from Add-in:”前缀。修改你的代码如下:Office.context.ui.displayDialogAsync('https://myurl', { height: 60, width: 60, displayInIframe: true, title: '你的自定义标题' // 这里添加自定义标题 }, function(result) { // 这里可以处理对话框打开后的回调逻辑,比如保存对话框对象 if (result.status === Office.AsyncResultStatus.Succeeded) { const dialog = result.value; // 可按需添加对话框关闭等事件监听 } });这种方法最直接,标题完全由你控制,不会出现默认前缀。
方法二:设置对话框页面的
标签(兼容旧版Office)</strong><br> 如果你的插件需要兼容更早的Office版本(比如Office 2016或更早),可以在你打开的<code>https://myurl</code>对应的HTML页面里,设置<code><title></code>标签的内容:</p> <pre class="hljs"><code class="language-html volc-pre-code"><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>你的自定义标题</title> <!-- 这里设置页面标题 --> <!-- 引入Office JS库等必要资源 --> <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script> </head> <body> <!-- 对话框内容 --> </body> </html> </code></pre> <p>不过要注意,在部分旧版Office中,可能还是会自动添加“Message from Add-in:”前缀,所以如果条件允许,优先用第一种方法。</p> </li> </ul> <p>内容的提问来源于stack exchange,提问作者Leo</p>




