我正在嘗試創建一個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。 –