通过网页直接调用可以看到返回结构是{"ret_code": "400", "msg": "xx"}这样的,我通过页面添加iframe的方式也能在开发者工具的元素里看到这个返回的内容,但是通过
const url = `http://127.0.0.1:8089/getSession` const iframe = document.createElement('iframe') iframe.src = url iframe.style.display = 'none' document.body.appendChild(iframe) iframe.onload = function () { setTimeout(() => { let doc = document.getElementsByTagName('iframe')[0].contentDocument console.log(doc) }, 1000) }
这样的方式去获取contentDocument是解析不到的,contentDocument==null, 请问有办法获取到这个iframe里的返回结果吗?
要通过iframe调用本机组件并解析iframe中的内容,由于同源策略的限制,您可能会遇到跨域问题。
在您的代码中,您创建了一个隐藏的iframe,并设置了它的src属性以指向本地服务器的URL。然后,您在iframe加载完成后,尝试获取它的contentDocument属性。但是,您发现contentDocument为null,这可能是因为您遇到了跨域问题。
跨域问题是指由于浏览器的同源策略,来自不同源的页面之间的交互受到限制。在这种情况下,您尝试通过iframe加载一个不同源的页面,因此无法直接访问该页面的DOM。
要解决这个问题,您可以考虑以下几种方法:
const url = `http://127.0.0.1:8089/getSession`const iframe = document.createElement('iframe')iframe.src = urliframe.style.display = 'none'iframe.sandbox = 'allow-same-origin allow-scripts'document.body.appendChild(iframe)iframe.onload = function () { setTimeout(() => { let doc = iframe.contentDocument console.log(doc) }, 1000)}
无论您选择哪种方法,请确保您遵守了适当的安全性和隐私政策。
本文向大家介绍如何在JavaScript中获取iframe的内容?,包括了如何在JavaScript中获取iframe的内容?的使用技巧和注意事项,需要的朋友参考一下 要获取body的内容,可以获取 src 属性或尝试以下代码片段-
问题内容: 我在从父页面调用JavaScript函数时遇到问题。这是我的两页: mainPage.html resultFrame.html (我知道不建议这样做,但只能在内部使用IE浏览此页面,我不认为这是问题所在) 当我按下“重置”按钮时,我得到“找到resultFrame”和“找不到resultFrame.Reset”。似乎有对框架的引用,但无法在框架上调用该函数,为什么呢? 问题答案: 采
问题内容: 我想使用jQuery在iframe中操纵HTML。 我认为我可以通过将jQuery函数的上下文设置为iframe的文档来做到这一点,例如: 但是,这似乎不起作用。一点检查就可以看出,除非等待iframe加载,否则其中的变量是。但是,在iframe加载时,变量不可访问(我收到-type错误)。 有人知道解决方法吗? 问题答案: 如果来自相同的域,则可以很容易地访问元素
问题内容: 我有一个包含IFrame和一个Button的网页,一旦按下按钮,我需要刷新IFrame。如果可能的话,这可能吗?我搜索了,找不到任何答案。 问题答案:
问题内容: 这是我的代码 此方法有效,但是会打印父页面,我如何才能仅打印iframe? 问题答案: 我不希望它能起作用 试一试 和使用 或者尝试好老 如果jQuery无法破解
问题内容: 我有一个与和。在其中有一个链接,单击该链接应清除的内容。 到目前为止,上述想法的以下实现无效。请帮我解决这个问题。 请注意 ,并且每个都从不同的包含文件加载。 wrapperPage.html header.html: pageBody.html: 问题答案: 尝试使用频道信息