greasemonkey - ako z textu spravit linku

Programovacie jazyky, rady, poradňa...
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

greasemonkey - ako z textu spravit linku

Príspevok od používateľa sundevil »

snazim sa upravit jeden web a potrebujem z nasledovneho kodu:

Kód: Vybrať všetko

<td headers="id2" align="left" >xxxxxx</td>
pouzitim greasemonkey scriptu spravit nieco taketo:

Kód: Vybrať všetko

<td headers="id2" align="left" ><a href="http://123456845/wsapi?byCnum=xxxxxx" target="_new">xxxxxx</a></td>
upravit zdrojovy html kod je nemozme kedze sa jedna o sluzbu, ku ktorej nemam pristup, preto je jedinou moznostou pouzit GM script

nasiel som nieco by mi mohlo pomoct:

Kód: Vybrať všetko

document.body.innerHTML= document.body.innerHTML.replace(/text1/g,"text2"); 
avsak mi robi problem ten odkaz, ktory tam potrebujem zakomponovat :-/
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

// ==UserScript==
// @name           sundevil
// @namespace      standart
// ==/UserScript==

var bunky = document.getElementsByTagName('td');
for(var i=0; i<bunky.length; i++){
  var odkaz = document.createElement('a');
  var text = bunky[i].innerHTML;
  odkaz.href='http://123456845/wsapi?byCnum='+text;
  odkaz.setAttribute("target","_blank");
  odkaz.innerHTML = text;
  bunky[i].innerHTML = '';
  bunky[i].appendChild(odkaz);
}
treba si doplniť @include, ale to asi vieš keďže vieš čo a na čo je gm :)
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

audiotrack : dakujem
zial, ma to jeden hacik

Kód: Vybrať všetko

var bunky = document.getElementsByTagName('td');
na zaklade tohoto to upravi vsetky <td> co je vsak u mna nepripustne, kedze v tabulke sa nachadzaju aj ine data, s ktorymi takto "manipulovat" nechcem a nemozem
vysledok je mozne vidiet v prilohe - zo vsetkych hodnot v <td> sa stali odkazy

prvy stlpec - tomuto <td> je uz priradeny jeden odkaz, dalej je stlcec UID - ten ma zaujima, iba hodnotu z tohto stlca potrebujem z obycajneho textu dostat do odkazu a tie dalsie stlce ma takisto nezaujimaju
zial neviem ako spravit to aby to upravilo len toto jedno td:

Kód: Vybrať všetko

<td headers="id2" align="left" >
bunky v tabulke su oznacovane ako: <td headers="id1" align="left" >, <td headers="id2" align="left" > <td headers="id3" align="left" > ...
Prílohy
gm.JPG
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

var bunky = document.getElementsByTagName('td');
for(var i=0; i<bunky.length; i++){
  if(bunky[i].headers == "id2"){
    var odkaz = document.createElement('a');
    var text = bunky[i].innerHTML;
    odkaz.href='http://123456845/wsapi?byCnum='+text;
    odkaz.setAttribute("target","_blank");
  	odkaz.innerHTML = text;
    bunky[i].innerHTML = '';
    bunky[i].appendChild(odkaz);
  }
}
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

super, funguje to bezchybne
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ja by som radšej použil XPath (dá sa tam jednoduchšie obmedziť, čo presne to má nájsť).
Napísať odpoveď