【发布时间】:2023-03-04 04:27:01
【问题描述】:
我正在尝试在 sharepint 中隐藏 iframe 0365 功能区,但它只是返回这个...
TypeError: document.getElementById(...) is null
这是我正在测试的代码,我最终会使用 display:none...
document.getElementById('.content-frame').contentDocument.body.getElementById('#suiteBarDelta').style.visibility = 'hidden';
有没有更好的方法来做到这一点?
【问题讨论】:
-
也许“.content-frame”不是一个id,而是一个类的querySelector。此外,除非您的脚本托管在与 sharepoint 相同的域中,否则您将无法访问 iframe 的 DOM。
-
@James 啊,这是一个愚蠢的错误。所以我改变了它,但现在它告诉我 contentDocument 未定义,这是代码...
document.getElementsByClassName('content-frame').contentDocument.body.getElementById('#suiteBarDelta').style.visibility = 'hidden';这是错误...TypeError: document.getElementsByClassName(...).contentDocument is undefined,两个页面都托管在同一个团队网站上跨度> -
getElementsByClassName 返回一个元素集合,因此您需要在尝试访问 contentDocument 属性之前选择一个元素,例如
document.getElementsByClassName("content-frame")[0].contentDocument... -
@James 我试了一下,但现在它告诉我这不是一个函数...
TypeError: document.getElementsByClassName(...)[0].contentDocument.body.getElementById is not a function,这是代码document.getElementsByClassName('content-frame')[0].contentDocument.body.getElementById('#suiteBarDelta').style.visibility = 'hidden'; -
是
...contentDocument.getElementById,不是...contentDocument.body.getElementById
标签: javascript iframe sharepoint office365 sharepoint-online