javascript - 跟踪预防阻止访问 https ://appsforoffice. microsoft.com/lib/1.1/hosted/office.js 的存储

标签 javascript office-js excel-addins session-storage

大约一年半前,我使用 OfficeJS API 编写了一个 Excel 插件,它一直工作到大约两周前。似乎 Excel 有一个更新,我现在可以在任务 Pane 上右键单击并查看开发工具,而我以前无法做到这一点,并且必须运行外部 MS Edge devtools 应用程序进行调试。这似乎是一个相对较新的问题,我似乎找不到任何有关它的信息。我尝试将 MS Edge 的跟踪预防设置减少到基本设置,如下所示:
tracking settings for MS Edge
我给了appsforoffice.microsoft.com javascript 权限,因为devtools 说它专门阻止了这个文件https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js在控制台中。我还包括了 microsoft.com 以及公司的 URL 和 cdn url。我还添加了 localhost 因为这也在我的计算机上本地发生。我似乎无法专门更改 Excel 中的任何阻止设置,但我的假设是 excel 为加载项运行 Edge 实例,因为我可以在 Edge devtools 中跟踪它。
我阅读了这里的文章 https://docs.microsoft.com/en-us/microsoft-edge/web-platform/tracking-prevention为了看看我可以改变什么,但这里的解决方案都不适合我。似乎 Edge 的设置没有被读取到 Excel 中,因此它总是阻止任何应用程序从 localStorage/sessionStorage 中读取。
我在我的加载项中使用 sessionStorage 将数据写入以读回并尝试使用 localStorage,但我仍然遇到相同的错误。
更奇怪的是,我试图读取的数据来自我写入存储的数据,当我查看 devtools 中的存储选项卡时,可以看到它的写入没有问题,因此问题仅限于从存储。
如果这些更改没有从 MS Edge 更新,或者最近与 Excel 一起发布了一个新错误,有谁知道需要在哪里对跟踪进行更改,以便 Excel 加载项能够从存储中读取?
编辑:为了更清楚确切的问题,我的添加基本上从单元格中读取文本和值,并基于我为用户定义的标签,这些值将在包含用户想要的标签的 HTML 元素中输出产生。例如,当用户想要一个段落时,他们可以用/para 和/end para 标记一个单元格,并且它们之间的行/单元格中的任何文本和值都将在 HTML 段落标记中输出。他们还可以像这样构建 HTML 表格。在读取文本和值的过程中,这一切都被构建成一个名为 previewString 的字符串。我存储在 sessionStorage 中,以便可以打开和读取对话框窗口 previewString来自 sessionStorage 并且将是用户想要生成的完整 HTML。所有这些已经工作了大约一年半,但现在在尝试生成 HTML 时,我可以看到字符串存储在 sessionStorage 中,如下面的屏幕截图所示:
sessionStorage
但是,当对话框窗口打开时,数据不在 sessionStorage 中,因此无法读取,并且仍然出现错误跟踪预防阻止访问存储 https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js。以及 Permission Denied 错误。
enter image description herepreviewString在此对话框的 sessionStorage 选项卡中不可用
enter image description here
第二次编辑:我搜索了控制台给出的错误代码 OSF.DDA.ERROR code 7000, permission denied并在 SO Office JS Api - Permission Denied Issue 上找到了这篇文章.这似乎是过去的一个错误,但我不确定是否再次出现这种情况。

最佳答案

最近,我也遇到了同样的问题,我得到 OSF.DDA.ERROR和“跟踪预防阻止访问存储”错误。
添加 setTimeout(function(){},1000) 后我能够解决它到我的代码并在其中编写我的 Office 特定代码。
添加 setTimeout()帮我解决了这个问题。我也试过Office.onReady ,但这对我不起作用。
它试图在完全加载之前访问 Office 特定功能。

关于javascript - 跟踪预防阻止访问 https ://appsforoffice. microsoft.com/lib/1.1/hosted/office.js 的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66958068/

相关文章:

vba - 安全 VBA Excel 插件代码

.net - Office 插件的前向兼容性

javascript - JSON 路径 : Outputting value plus parent hierarchically

Java Play 框架 Javascript 中的 Groovy 脚本

javascript - 如何使用 CSS 和 JavaScript 编写这种超棒的发光边框效果?

javascript - 使用 Office 加载项清除 Excel 2013 中的工作表

Excel Office 加载项 API 工作表保护密码

javascript - 如果存储 getter 更改而不重新加载页面,请重新运行 nuxt 路由中间件?

typescript - 无法使用 Office JS 删除 Word 中的嵌套内容控件

typescript - IE11 Angular-CLI 源映射不工作