javascript - URLSearchParams 从 iframe 中返回空
问题描述
我的 iframe 是:
<iframe src="iframe.html?name=%1A%C3%A9%C2%AB%C2%A1%C2%A7O%C2%AE%C2%87nr%C3%9D" allowtransparency="allowtransparency" allowfullscreen="allowfullscreen" style="width: 100%; height: 100%; margin: 0; padding: 0; z-index: 9999; position: fixed; left: 0; top: 0; border: 0;"></iframe>
从内部iframe.html
,我正在做:
let urlParams = new URLSearchParams(document.location.search)
console.log(urlParams)
但是,这总是返回URLSearchParams {}__proto__: URLSearchParams
空的。
我究竟做错了什么?
解决方案
URLSearchParams
不是一个普通的对象,所以你需要使用方法来获取参数,例如
console.log(urlParams.get('name'));
所有方法都是:
该接口不继承任何方法。
URLSearchParams.append()
附加指定的键/值对作为新的搜索参数。
URLSearchParams.delete()
从所有搜索参数列表中删除给定的搜索参数及其关联值。
URLSearchParams.entries()
返回一个迭代器,允许迭代此对象中包含的所有键/值对。
URLSearchParams.forEach()
允许通过回调函数遍历此对象中包含的所有值。
URLSearchParams.get()
返回与给定搜索参数关联的第一个值。
URLSearchParams.getAll()
返回与给定搜索参数关联的所有值。
URLSearchParams.has()
返回一个布尔值,指示是否存在这样的给定参数。
URLSearchParams.keys()
返回一个迭代器,允许迭代此对象中包含的键/值对的所有键。
URLSearchParams.set()
将与给定搜索参数关联的值设置为给定值。如果有多个值,则删除其他值。
URLSearchParams.sort()
按键对所有键/值对(如果有)进行排序。
URLSearchParams.toString()
返回包含适合在 URL 中使用的查询字符串的字符串。
URLSearchParams.values()
返回一个迭代器,允许迭代此对象中包含的键/值对的所有值。
推荐阅读
- python - 如何使用scrapy按页面中出现的顺序从页面中选择多个节点
- json - jq 多个参数
- ios - 使用 swift 5 的 facebook 图形请求
- python - 忽略 Dask 分布式中长时间运行的任务
- odata - 使用 OData 将 NodaTime LocalDate 和 LocalDateTime 序列化为 JSON
- google-apps-script - 邮件合并中的 AppScript 执行 - 可靠性和稳定性的最佳实践
- javascript - 验证单选按钮输入 JavaScript
- angular - 如何在单击我的 IIS 服务器时实现粘贴功能?
- scala - Scala 将对象转换为 JSON 响应
- python - 嵌套的附加查找