Simple script to replace a link

Subscribe to Simple script to replace a link 9 posts, 5 voices

 
Kendlar User

I need to replace...
index.php?page=sample&id=12345

with...
/sample/id12345.jpg

I've tried messing with an existing script but can't figure out how to add the .jpg at the end.

var link;
link = document.body.getElementsByTagName("a")

for (var i = 0; i < link.length; i++) {
    link[i].href = link[i].href.replace("index.php?page=sample&id=","sample/id")
}

 
sizzlemctwizzle Scriptwright

link[i].href = '/sample/id'+link[i].href.split('id=')[1]+'.jpg';

 
Kendlar User

Thanks!

 
Kendlar User

I just noticed it's changing all the links. Is there a way to only affect links that have page=sample?

Thanks

 
Motty Katan Scriptwright


var oLinks = document.evaluate("//a[@href='index.php?page=sample&id=12345']");
for(var i=0;i<olinks>
oLinks[i].href="/sample/id12345.jpg";
}

Didn't check it, but should work.

 
Kendlar User

ima noob :)

Can't get it to work. I've tried all kinds of this but nothing. Here's the old and new...

// ==UserScript==
// @name           Bypass BritePic
// @namespace      dhdhd
// @description    dhhd
// @include        http://www.vcdquality.com/
// ==/UserScript==


/* OLD ONE - worked but affected EVERY LINK on page!
var link;
link = document.body.getElementsByTagName("a")

for (var i = 0; i < link.length; i++) {
    link[i].href = link[i].href = '/sample/id'+link[i].href.split('id=')[1]+'.jpg';
}
*/



// YOURS combined with old one so 12345(some random number) is used 

// don't see any effect
var oLinks = document.evaluate("//a[@href='index.php?page=sample&id=']");
	for(var i=0;i<olinks>
	oLinks[i].href="/sample/id'+link[i].href.split('id=')[1]+'.jpg';
}
</olinks>

 
Yansky Scriptwright

Use sizzlemctwizzle's version, but put it in your original replace function.

var link;
link = document.body.getElementsByTagName("a")

for (var i = 0; i < link.length; i++) {
    link[i].href = link[i].href.replace("index.php?page=sample&id=", "/sample/id"+link[i].href.split('id=')[1]+".jpg");
}

Note: you may have to escape some characters in the replace.

 
Kendlar User

Thanks Yansky
It's real close but it adds the number again at the end.

Instead of being http://www.vcdquality.com/sample/id73638.jpg
It's ---------------- http://www.vcdquality.com/sample/id73638.jpg73638

 
hosts Scriptwright


// ==UserScript==
// @name VcdQuality.com Direct Image
// @namespace http://
// @include http://vcdquality.com*
// ==/UserScript==

var lianks = document.evaluate(
"//a[contains(@href, 'index.php?page=sample&id=')]",
document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

for (var i = 0; i < lianks.snapshotLength; i++) {
var link = lianks.snapshotItem(i);
link.href = link.href.replace("index.php?page=sample&id=","sample/id")+'.jpg'
}