javascript - 返回未捕获类型错误的书签:无法读取 null 的属性“单击”
问题描述
我对编码完全陌生,我正在尝试创建一个书签,它将自动单击具有某些名称的复选框。在这种情况下,我试图让小书签自动单击“A”复选框。
我正在使用这个网站来测试我的代码。http://jsfiddle.net/fjaeger/L9z9t04p/4/
我保存在书签中的是:
javascript:(function()%7Bdocument.querySelector('%23check-a').click()%7D)()
这是我放后得到的
document.getElementById('check-a').click();
通过https://mrcoles.com/bookmarklet/
我的代码在进入 Chrome 控制台时运行良好,但是当我将它用作书签时,它是
Uncaught TypeError: Cannot read property 'click' of null
at < anonymous>:1:47
at < anonymous>:1:57
解决方案
您编写的代码是正确的。这里的问题是 jsfiddle 网站。该站点在 iframe 元素内运行您的代码,而不是在页面本身上运行。document
引用当前文档,但 iframe 是不同的document
,并且您的代码找不到该元素。
你可以试试
window.frames[0].document.getElementById('check-a').click();
但是,您会收到一个错误,因为该框架位于不同的来源,并且浏览器阻止了对跨域资源的访问。
尝试编写一个简单的 HTML 页面来测试您的书签。
推荐阅读
- python - 选择由元素列表组成的列的最后一个元素 pandas
- r - 更改计算最佳拟合线的方法
- javascript - NextJS 动态路由参数
- apache-spark - 解析spark sql的复杂类型
- docker - 无法拉取 Docker 映像:fpco/stack-build:lts-17.12 — 文件描述符错误
- pytest - 在多个 python 版本中运行 pytest 时,如何阻止 Tox 覆盖 junit.xml 文件和测试名称?
- javascript - React - Can .reduce() be updated like useState()?
- android - XMPP 响应 IQ 不显示或带回 IQ 响应
- solr - Hybris SOLR 刻面索引属性未显示
- android - 将 Enable Crashlytics 添加到 Android Firestore 项目时被阻止