我正在尝试创建一个onkeydown
事件,该事件会自动将特定网站上的图片库移动到下一张图片或后面。问题是,链接结构没有得到有效的结构。确定页面上是否存在特定图片/链接
因此,基本上,我试图在userscript中查找是否要单击返回或前进的图像存在于页面上,并使用if语句来确定后退/前进动作(左箭头/右键盘上的箭头分别),实际上可以做
我怎么会去判断是否表示在页面上的图像(S)存在
我正在尝试创建一个onkeydown
事件,该事件会自动将特定网站上的图片库移动到下一张图片或后面。问题是,链接结构没有得到有效的结构。确定页面上是否存在特定图片/链接
因此,基本上,我试图在userscript中查找是否要单击返回或前进的图像存在于页面上,并使用if语句来确定后退/前进动作(左箭头/右键盘上的箭头分别),实际上可以做
我怎么会去判断是否表示在页面上的图像(S)存在
假设你正在使用jQuery,这样简单的事情为:?
$('img[src="/path/to/left-arrow-picture.jpg"]')
会做,或者如果t嗨他们有一个特定的类,
$('img.prevclass')
会工作。如果你只在普通的JavaScript的时候,你可以用
var imgs = document.getElementsByTagName('img');
for(var i = 0; i < imgs.length; i++) {
if (i.src == '/path/to/left-arrow-picture.jpg') {
...
}
}
通常所有的画廊中的图像阵列举行模拟这一点,所以一个典型的行为是环周围,所以当它在过去的形象,用户想要去下一个,画廊去第一个,而反之亦然,例如
var currentImage = 0;
var numberOfImages = imageArray.length;
if (<user wants next image>) {
currentImage = ++currentImage % numberOfImages;
} else if (<user wants previous image>) {
currentImage = (--currentImage + numberOfImages) % numberOfImages;
}
我不知道你是如何实现的画廊,但你应该能够以某种方式应用上述逻辑。
如果您正在查找具有特定src
值的图像,请按照MarcB的建议对它们进行循环。请注意,getElementsByTagName
不需要,有一个document.images
收集准备就绪。
另请注意,在某些浏览器中,src
属性将是完整路径,但在其他(较旧)的浏览器中只是属性值。所以更好只是为了匹配实际的图像名称。
首先,确定图像的CSS路径或src
属性。 (该src
可能不存在,如果网站使用精灵。或者,它可能不是唯一的。)
图片您可以右键单击并选择检查元素,并使用开发者工具或Firebug帮助确定这一点。
链接到目标页面,或粘贴适当的HTML代码片段,如果你想我们的帮助选择选择器。
然后你可以使用这样的代码:
普通的JavaScript:
var lftArrwImg = document.querySelector ("#galleryControls div.foo a img");
if (lftArrwImg) {
// DO YOUR LEFT ARROW STUFF HERE.
}
或者:
var lftArrwImg = document.querySelector ("img[src='/some_path/left_arrow.gif']");
if (lftArrwImg) {
// DO YOUR LEFT ARROW STUFF HERE.
}
的jQuery:
if ($("#galleryControls div.foo a img").length) {
// DO YOUR LEFT ARROW STUFF HERE.
}
或者:
if ($("img[src='/some_path/left_arrow.gif']").length) {
// DO YOUR LEFT ARROW STUFF HERE.
}
当心,一些网站可能具有图像始终存在,但隐藏它时,它的不是应用程序icable。
这是一个'userscripts'问题,所以OP没有实现图库,可能无法控制目标页面。正如目前的问题所示,唯一的浏览器应该是Chrome(如果它被误标记,则为Firefox)。对于其他浏览器,比如Opera,OP通常足够清楚地说明这一点。 –
@BrockAdams这是迷糊,它也包括FFox。 –