在特定执行上下文(iframe)上运行javascript
我正在尝试编写javascript代码(稍后将其放入bookmarklet),以自动填充网页上的一些文本框在特定执行上下文(iframe)上运行javascript,javascript,google-chrome,bookmarklet,Javascript,Google Chrome,Bookmarklet,我正在尝试编写javascript代码(稍后将其放入bookmarklet),以自动填充网页上的一些文本框 document.getElementById("textboxID").value = "Some Text" 我遇到的问题似乎是执行上下文。只有在我首先检查元素,或者手动将执行上下文从top更改为所选的(ext-gen65)时,此代码才起作用。 做这件事的正确方法是什么 编辑: 当我使用document.getElementById('ext-gen65').contentWind
document.getElementById("textboxID").value = "Some Text"
我遇到的问题似乎是执行上下文。只有在我首先检查元素,或者手动将执行上下文从top更改为所选的(ext-gen65)时,此代码才起作用。
做这件事的正确方法是什么
编辑:
当我使用
document.getElementById('ext-gen65').contentWindow.document
时,我无法读取未定义错误的属性“document”。问题在于ID位于Iframe的文档中,每个Iframe都有自己的window.document属性,元素所在的位置。
您可以通过以下方式获取文档:
let Iframe = document.getElementById('yourIframe').contentWindow.document
let value = Iframe.getElementById("textboxID").value = "Some Text"
问题可能重复。如果在加载iframe之前执行此操作,可能是时间问题?如果不是这样,那么检查document.getElementById('ext-gen65').contentWindow首先返回的是什么-您是否获得了一个窗口实例,或者该实例是否为null/未定义?它确实返回了一个窗口实例。WillhemVanderVeen回答解决了它,谢谢。为您更新了它