Javascript 为什么iframe DOM操作可以从Chrome开发控制台工作,而不是直接加载JS

Javascript 为什么iframe DOM操作可以从Chrome开发控制台工作,而不是直接加载JS,javascript,jquery,html,iframe,cross-domain,Javascript,Jquery,Html,Iframe,Cross Domain,我正在尝试创建一个按钮,该按钮将自动使用默认值为我们的客户填写外部调查。 我想到的最好的方法是加载它并触发事件,以便在加载时填充表单。 我对CORS有一些了解,但我不明白的是为什么我可以从Chrome开发控制台触发这些事件并与交互,但不能直接从JS执行 这是使用HTML和JS。我试着像这样通过元素的位置来访问它们,但是在从JS运行时找不到元素 document.getElementsByTagName("div")[21].click() 我希望可以在iframe上加载一些事件,模拟真实用户

我正在尝试创建一个按钮,该按钮将自动使用默认值为我们的客户填写外部调查。 我想到的最好的方法是加载它并触发事件,以便在加载时填充表单。 我对CORS有一些了解,但我不明白的是为什么我可以从Chrome开发控制台触发这些事件并与
交互,但不能直接从JS执行

这是使用HTML和JS。我试着像这样通过元素的位置来访问它们,但是在从JS运行时找不到元素

document.getElementsByTagName("div")[21].click()
我希望可以在iframe上加载一些事件,模拟真实用户


为什么我可以从Chrome开发控制台而不是直接从JS中的
.onload()
执行此操作?是否有任何解决方法?

iframe的内容是否位于父窗口的不同域上?如果是这样的话,那么据我所知,如果在Chrome开发工具中您从iframe菜单中选择,它在任何情况下都不应该工作(无论是通过编程还是通过直接控制台输入)。您将处于该iframe的上下文中,就像添加到外部iframe的脚本一样。但是如果选择主页,您将无法使用iframe并从中获取window.document以获取元素(即使在chrome开发工具中也是如此)。@rorymcrossan是的,它位于不同的域中。但是它可以从dev tools中运行,我不明白的是为什么我不能从父站点运行脚本,这些脚本的运行方式与从dev tools中运行的脚本相同,出于安全原因,您永远无法从父文档以编程方式修改跨域iframe的内容。@jcubic是否无法使父页面以开发工具可以直接访问iframe的方式访问该框架?