选择Pinterest上的所有图像以移动到另一个电路板
更新:(2015-10-16)[已解决!] - 修正与触发器()和限制到50针与切片()。
非常感谢Abhas Tandon通过使用提供
$(this).trigger('click');
代替
$(this).addClass('selected');
它会正确选择图像。 我测试了一张由21张图像组成的电路板,它的工作非常完美! 但是,当试图移动300多个引脚时,它会因此错误而失败:
"You can only move 50 Pins at a time."
然后,我通过使用JavaScript的slice()函数来抓取前50张图像,从而解决了这个问题。 经过测试,现在它可以正常工作。 所以我的限制是,我一次只能选择和移动50个针脚,但这比用手一个接一个地选择它要好得多!
最终工作代码:
function checkAll() {
console.log("Checkboxes count: " + checkBoxes.length);
$.each(checkBoxes, function(i, v) {
console.log("Checkbox #: " + i)// + " = " + v);
$(this).trigger('click');
});
}
var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
var checkBoxes = checkBoxes.slice(1, 51);
checkAll();
问题描述:
我正在开发一个用于Pinterest界面(?)脚本(?)的问题。 我是一名程序员,主要是自学成才,我想我错过了一些关于AJAX的理解的关键组成部分? 这是我第二次尝试编写一个jQuery脚本来与Pinterest交互。 第一个是试图击败无限滚动功能(AKA“加载更多”按钮),以便将所有图像显示在一个页面上,从中我可以抓取图像链接,然后使用浏览器插件下载它们以备份我的Pinterest板到我的电脑。 我的代码都能正常工作,除非它实际上并没有最终下载任何图像。
失望的是,我搁置了其他的事情。 最终我重新访问了我的代码并做了一些挖掘工作,它应该可以工作。 我的研究表明,可能阻止我的程序执行我想要的操作的关键缺陷与“Pinterest使用AJAX”有关。 虽然我意识到术语“使用XML的异步JavaScript”和“XMLHttpRequest”,但在实现AJAX方面,我并不是专家。
用我最新的代码,我写了一个 - 你会认为这将是 - 快速小jQuery脚本来选择所有图像,以便我可以移动它们,删除,复制等......问题是,虽然检查所有的框作品(例如,您必须在董事会并点击“移动”),当我再次单击“移动”按钮时,应该弹出一个模式,让我们选择要移动的板子,我所得到的只是
Oops!
Select the Pins you want to move.
使用:
如何重现问题:
注意:在这一点上我并不担心分页,但如果有人想解决这个问题,我也愿意解决这个问题。
脚本选择所有图像:
/*
@Repo: EHW-JavaScript-Pinterest-SelectAllImages.
@Creator: Eric Hepperle (CodeSlayer2010/CodeWizard13)
@Date: 10/15/15
@Version: 1.0
@Purpose: Click "Move" in Pinterest board to move pins.
Once checkboxes are visible, run this in an
F12 browser console to automatically check all
visible image pins. You will have success when
the color of all checkboxes turns red. Then
click "Move" again to finish.
@Notes:
2015.10.15
- Created script.
- Checks all checkboxes, but does not allow moving.
*/
function checkAll() {
console.log("Checkboxes count: " + checkBoxes.length);
$.each(checkBoxes, function(i, v) {
console.log("Checkbox #: " + i)// + " = " + v);
$(this).addClass('selected');
});
}
//$(document).ready(function() {
alert('hi');
var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
checkAll();
//});
我试图修正它的问题:
Google搜索解决方案。 我发现了以下文章。 最后一个看起来可能是我所需要的,但似乎并没有把重点放在我的问题上。
最初尝试将每个复选框的“checked”属性设置为“true”,但最终没有检查框(为什么?)。 但是,然后我在浏览器控制台中观察到,当我单击以选择图像时,将“选定”类应用于该图像。 因此,我使用addClass()将该类应用于我的代码中的所有复选框,并且我能够获得所有复选框以便正确选择......或者看起来似乎。
我通过调用$(document).ready来尝试代码,但它给了我错误
"Uncaught ReferenceError: checkBoxes is not defined(…)"
我永远花了我的时间来格式化......先谢谢你的帮助。 我很高兴澄清,如果有什么不清楚。 另外,请让我知道这个职位是否属于不同的论坛。 谢谢。
我试着在每个元素上触发click
事件,它对我来说非常合适。 无法通过滚动来尝试,因为我的董事会中没有这么多图片。
function checkAll() {
console.log("Checkboxes count: " + checkBoxes.length);
$.each(checkBoxes, function(i, v) {
console.log("Checkbox #: " + i) // + " = " + v);
$(this).trigger('click');
});
}
var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
checkAll();
请让我知道这对你有没有用。
链接地址: http://www.djcxy.com/p/87123.html上一篇: Select all images on Pinterest for moving to another board
下一篇: How to move an image from one position to another with CSS?