【问题标题】:JavaScript bookmarklet not working?JavaScript 小书签不工作?
【发布时间】:2012-05-07 18:39:48
【问题描述】:

我无法通过http://ink361.com/#/tag/ 上列出的 JavaScript 书签找到想要单击的“心脏”的正确元素名称

查看页面时,元素在点击后列为“喜欢”“a.likes.does”,在点击之前列为“a.likes”? - 有人应该帮助找到正确的名称,以便我可以更新代码。

我正试图让这个小书签点击页面上所有的心' 我不确定“喜欢”是否正确,或者我是否应该将其更改为其他内容,或者代码的另一部分是否不正确?

如何更改代码以使其正常工作?

javascript: e = document.getElementsByClassName('likes');
for (i = 0; i < e.length; i++) {
    e[i].click();
}
void(0);

如果这不起作用,基本上我正在尝试执行 javascript,最好作为书签来点击页面上的喜欢。

查看页面时,我不确定类名是否正确,因此目前 javascript 因未知原因无法正常工作?

【问题讨论】:

标签: javascript click bookmarklet


【解决方案1】:

你可以像这样模拟鼠标点击事件,

function clickAll() {
   var clickEvt = document.createEvent("MouseEvents");
   clickEvt.initMouseEvent("click", true, true, window,
                         0, 0, 0, 0, 0, false, false, false, false, 0, null);

   var e = document.getElementsByClassName('likes');
   for(i=0;i<e.length;i++) { e[i].dispatchEvent(clickEvt); }
}

【讨论】:

  • 这可行,但目前无法单击元素,但它有可能用作书签吗? “喜欢”是正确的班级名称吗?如何找到正确的类名?
  • 这是理想的我只想通过在页面上执行一个javascript来点击或触发当前页面上的所有喜欢。但目前,当我将它作为书签运行或使用 DO Javascript 应用程序运行时,这不会。
  • @johndoe:在我的控制台上运行得很好——你在那里测试过吗? likes 确实是正确的类名(只需在登录时检查页面源 - 如果您使用的是 Safari,我假设您会这样做,正如您所说的使用 do javascript,请使用 WebKit Inspector)。附带说明一下,最好使用document.querySelectorAll('.likes') 而不是getElementsByClassName - 它更快。
【解决方案2】:

您打算使用click jQuery 函数吗?如果不显式创建引用 jQuery 的新 script 标记,这将无法在书签中工作。..

正如IanW 对您的问题发表的评论,您需要create your own click function

【讨论】:

  • “这在书签中不起作用”让我感到惊讶——this postBen Alman’s jQuery Bookmarklet Generator 建议不这样做……
  • 两者都创建了对 jQuery 的引用...更新的答案更简洁。
  • 从来没有说过这不是必需的——但你的原始答案也没有。引用无与伦比的 Chalky White,“我们现在合作”;)。
  • 假设是因为 OP 没有在他们的站点中引用 jQuery。感谢“cop乙酸”以前从未听过这个词:)
  • 理想情况下,代码应用作书签或在页面上执行 javascript 操作。我的代码的问题是我认为我没有正确的元素名称。并且不确定如何找到它,或者我需要执行“使用 javascript 在页面上的心”的点击所有操作
【解决方案3】:

您的代码看起来不错。问题是我什至不能用鼠标点击耳机。他们没有附加点击事件监听器。

【讨论】:

  • 实际上,如果您将网站连接到您的 Instagram 帐户(有点道理,除了 Instagram 用户,还有谁会“喜欢”Instagram 图片?)。
  • 代码的问题是我找不到元素名称。我认为这是“喜欢”,但我似乎无法让代码充当书签或对网页执行“DO javascript”命令。
猜你喜欢
  • 2023-02-10
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多