如何从 iframe 中检索属性?
Posted
技术标签:
【中文标题】如何从 iframe 中检索属性?【英文标题】:How to retrieve atributes from iframe? 【发布时间】:2021-10-05 03:02:36 【问题描述】:我有一个应用程序,我正在使用 iframe 插入另一个应用程序,如下所示
父应用
<html>
....
<body>
<iframe firstname="Trump" src="https://on.co/onboarding/" allowfullscreen="" >
</iframe>
</body>
</html>
儿童应用
<HTML>
....
<body>
<h1> Covid is deadly if you doubt ask the indians </h1>
<script>
const urlParams = new URLSearchParams(document.location.search);
const myParam = urlParams.get('firstname');
console.log(myParam) //undefined
</script>
</body>
</html>
我想从 iframe URL 参数中获取名字
我没有定义
这里有什么问题?
【问题讨论】:
这能回答你的问题吗? ***.com/a/28296334/13983399 网址没有搜索参数 @Musa 你是什么意思?https://on.co/onboarding/
没有名字参数,它根本没有参数
好的,我更改了如何从 iframe 获取属性
【参考方案1】:
我想你只需要:
<iframe src="https://on.co/onboarding/?firstname=SomeName" allowfullscreen=""></iframe>
【讨论】:
【参考方案2】:听起来您正在尝试获取元素 attribute
,而不是 url parameter
。您可以在元素上使用getAttribute
方法获取属性,例如
const myIframe = document.querySelector('iframe');
const firstname = myIframe?.getAttribute('firstname');
见https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute
但是请注意,firstname
属性在 iframe
上是无用的,因此您应该重新考虑一开始是如何获得它的。
【讨论】:
@TheDeadMan 我看到你的问题,但它与你提供的 sn-p 不一致。您显示的 URL 根本没有firstname
URL 参数,但是 iframe 确实 具有 firstname
属性。所以你的问题不是“如何获取参数”,而是“我的 iframe 一开始是怎么变成这样的”
iframe 在父框架中,所以你不能搜索document
(你不能跨域访问它)
谢谢@Quentin,我看了一眼。然而,IMO 的问题仍然是 iframe 对于 OP 的预期无效
我换个问题也许现在无法理解以上是关于如何从 iframe 中检索属性?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript 从加载的 iframe 中检索 HTTP 状态代码
如何在 iFrame 正文标签上设置 jQuery data() 并从 iFrame 内部检索它?