书签返回未捕获的TypeError:无法读取null的属性“ click”

时间:2019-02-18 18:26:04

标签: javascript google-chrome bookmarklet

我是编码的新手,我正在尝试创建一个书签,该书签将自动单击具有某些名称的复选框。在这种情况下,我试图使小书签自动单击“ 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

1 个答案:

答案 0 :(得分:0)

您编写的代码是正确的。这里的问题是jsfiddle网站。该网站在iframe元素内而不是页面本身上运行代码。 document引用了当前文档,但是iframe是一个不同的document,并且您的代码找不到该元素。

您可以尝试

window.frames[0].document.getElementById('check-a').click();

但是,您会得到一个错误,因为该框架位于不同的来源,并且浏览器阻止了对跨域资源的访问。

尝试编写一个简单的HTML页面来测试您的书签。