WRFan
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору накатал bookmarklet, позволяющий открывать пронумерованные страницы или картинки. т.е. скажем у вас в браузере открыта следующая URL: http://www.bla.com/bla1.jpg при нажатии на bookmarklet браузер перенаправится на bla2.jpg, ещё раз нажмёте, перейдёт на 3-ию картинку. тоже самое и с хтмл или chm файлами, открытыми в ИЕ. главное, чтобы название файла имело номер в конце. bookmarklet состоит из двух файлов. вызываете следующим образом: 1) создаёте фаворитный линк в ИЕ и вписываете в него: Код: javascript:(function(){var script=document.createElement('script'); script.src='file://localhost/E:/Programme/Internet/Proxomitron/html/Surf.js'; document.getElementsByTagName('head')[0].appendChild(script);})() | урл конечно нужно изменить на ту папку у вас на харде, где яваскрипт файл действитеьно будет находится. линк лучше всего создать в фаворитной папке Links и потом перетянуть на одну из главных панелей браузера, чтобы можно было быстро нажать 2) потом создаёте js файл где нибудь на харде и вписываете в него: Код: pathname = decodeURIComponent(window.location) if (document.protocol == "HTTP (HyperText Transfer-Protokoll)") { ////////////// if ((pathname.indexOf("/") != "-1") && (pathname.indexOf(".") != "-1")) { x = pathname.length; while((pathname.substring(x,x-1)) != "."){ x--; } clipend = x; while((pathname.substring(x,x-1)) != "/"){ x--; } clipstart = x; pathnameBaseName = pathname.substring(clipend-1,clipstart) pathnameFileName = pathname.substr(clipstart,pathname.length) pathnameExtension = pathname.substr(clipend,pathname.length) } else { alert ("Nope") //not a file } } ////////////// else //Local file { fso = new ActiveXObject("Scripting.FileSystemObject"); if (pathname.indexOf(".") != -1) { pathnameExtension = fso.GetExtensionName(pathname) pathnameBaseName = fso.GetBaseName(pathname) pathnameFileName = fso.GetFileName(pathname) } } //////////////////////////////////////////////////////////////////////////////////////////////// NIN = pathnameBaseName.substring(pathnameBaseName.length-1) NIN2 = pathnameBaseName.substr(pathnameBaseName.length-2,1) NIN3 = pathnameBaseName.substr(pathnameBaseName.length-3,1) pathnameBaseNameMinusOne = pathnameBaseName.substring(0,pathnameBaseName.length-1) pathnameBaseNameMinusTwo = pathnameBaseName.substring(0,pathnameBaseName.length-2) pathnameBaseNameMinusThree = pathnameBaseName.substring(0,pathnameBaseName.length-3) if ( (isNaN(NIN)==false) && (NIN < 9) ) //bla01.jpg -> bla02.jpg { NIN = parseInt(NIN) + 1 NewURL = pathnameBaseNameMinusOne + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (isNaN(NIN2)==false) && (NIN == 9) && (NIN2 < 9) ) //bla19.jpg -> bla20.jpg { NIN = 0 NIN2 = parseInt(NIN2) + 1 NewURL = pathnameBaseNameMinusTwo + NIN2 + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (isNaN(NIN2)==false) && (isNaN(NIN3)==false) && (NIN == 9) && (NIN2 == 9) && (NIN3 < 9) ) //bla199.jpg -> bla200.jpg { NIN = 0 NIN2 = 0 NIN3 = parseInt(NIN3) + 1 NewURL = pathnameBaseNameMinusThree + NIN3 + NIN2 + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (NIN == 9) && ((pathnameBaseName.length == 1) || (isNaN(NIN2)==true)) ) //bla9.jpg -> bla10.jpg (insert) { NIN = parseInt(NIN) + 1 NewURL = pathnameBaseNameMinusOne + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (NIN2 == 9) && ((pathnameBaseName.length == 2) || (isNaN(NIN3)==true)) ) //bla99.jpg -> bla100.jpg (insert) { NIN4 = pathnameBaseName.substr(pathnameBaseName.length-2,2) NIN4 = parseInt(NIN4) + 1 NewURL = pathnameBaseNameMinusTwo + NIN4 + "." + pathnameExtension } else //if (isNaN(NIN)==true) //bla.jpg (no enumeration) { alert("Nope") } if (typeof NewURL != "undefined") { //window.location.assign(NewURL) location.replace(NewURL) // bookmarklet virtual location replace is deleted } | а вот код для навигации в обратном порядке, т.е. от большего числа к меньшему: Код: pathname = decodeURIComponent(window.location) if (document.protocol == "HTTP (HyperText Transfer-Protokoll)") { ////////////// if ((pathname.indexOf("/") != "-1") && (pathname.indexOf(".") != "-1")) { x = pathname.length; while((pathname.substring(x,x-1)) != "."){ x--; } clipend = x; while((pathname.substring(x,x-1)) != "/"){ x--; } clipstart = x; pathnameBaseName = pathname.substring(clipend-1,clipstart) pathnameFileName = pathname.substr(clipstart,pathname.length) pathnameExtension = pathname.substr(clipend,pathname.length) } else { alert ("Nope") //not a file } } ////////////// else //Local file { fso = new ActiveXObject("Scripting.FileSystemObject"); if (pathname.indexOf(".") != -1) { pathnameExtension = fso.GetExtensionName(pathname) pathnameBaseName = fso.GetBaseName(pathname) pathnameFileName = fso.GetFileName(pathname) } } //////////////////////////////////////////////////////////////////////////////////////////////// NIN = pathnameBaseName.substring(pathnameBaseName.length-1) NIN2 = pathnameBaseName.substr(pathnameBaseName.length-2,1) NIN3 = pathnameBaseName.substr(pathnameBaseName.length-3,1) pathnameBaseNameMinusOne = pathnameBaseName.substring(0,pathnameBaseName.length-1) pathnameBaseNameMinusTwo = pathnameBaseName.substring(0,pathnameBaseName.length-2) pathnameBaseNameMinusThree = pathnameBaseName.substring(0,pathnameBaseName.length-3) if ( (isNaN(NIN)==false) && (NIN >= 1) ) //bla11.jpg -> bla10.jpg { NIN = parseInt(NIN) - 1 NewURL = pathnameBaseNameMinusOne + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (isNaN(NIN2)==false) && (NIN == 0) && (NIN2 > 0) ) //bla10.jpg -> bla09.jpg { NIN = 9 NIN2 = parseInt(NIN2) - 1 NewURL = pathnameBaseNameMinusTwo + NIN2 + NIN + "." + pathnameExtension } else if ( (isNaN(NIN)==false) && (isNaN(NIN2)==false) && (isNaN(NIN3)==false) && (NIN == 0) && (NIN2 == 0) && (NIN3 > 0) ) //bla200.jpg -> bla199.jpg { NIN = 9 NIN2 = 9 NIN3 = parseInt(NIN3) - 1 NewURL = pathnameBaseNameMinusThree + NIN3 + NIN2 + NIN + "." + pathnameExtension } else //if (isNaN(NIN)==true) //bla.jpg (no enumeration) { alert("Nope") } if (typeof NewURL != "undefined") { //window.location.assign(NewURL) location.replace(NewURL) //bookmarklet virtual location replace is deleted } |
| Всего записей: 5275 | Зарегистр. 25-11-2002 | Отправлено: 00:55 14-01-2007 | Исправлено: WRFan, 08:31 15-01-2007 |
|