Jump to content
php.lv forumi

Gribu uztaisīt tooli, ar kuru var 'iezīmēt' weblapas tekstu


black

Recommended Posts

Ir doma uztaisīt kaut ko līdzīgu http://wizlite.com, kur var paņemt jebkuru weblapu, iezīmēt lapas daļu, un pievienot savu komentāru. Nu aptuveni kā wiki, tikai tāds, kurš strādā ar jebkuru lapu.

 

Piegājiens varētu būt aptuveni šāds:

 

1) Vieglākā daļa - ņemam, uzrakstam HTTP proxy, kas pieliek katras lapas augšā 'highlight' javaskriptu.

2) Uzspiežot/iezīmējot kādu lapas daļu (piem., paragrāfu vai teikumu), tiek mainīta tās daļas krāsa (teksta background paliek dzeltens), un atveras neliels popup lodziņš, kur var ievadīt savu komentāru.

 

Lielā problēma - kā uz servera/datubāzē saglabāt to vietu, kas ir komentēta? Tas ir, es gribu, lai nākamie lapas komentētāji varētu redzēt komentārus, ko ievadījuši lietotāji pirms viņiem. Ideja būtu kaut kā atzīmēt to lapas elementu, kuru lietotājs ir nokomentējis, un nākamo reizi to rādīt dzeltenu jau defaultā.

 

Diezgan murgaina doma sanāca, bet ceru, ka kāds saprata.

Link to comment
Share on other sites

Nu kā kā... saglabājot pozīciju vai hashmapojot...

Problēma radīsies tad, kad teksts mainās... principā tad tev ir jākešo visa lapa datubāzē...

 

A prikeš kam šitā negudrā ideja?

 

 

A principā vari izpētīt kā viņš to dara... viss ir uz JS... tā kā nekas tur paslēpts nav...

 

loadUserData: function () {
	this.userId = -1;
	this.status('Loading User Data...', 'loading', 'userdata_wizlite');
	this.call('user.js?');
	return true;
},
reportFailure: function (id) {
	if (!this.enabled) {
		return false;
	}
	this.status('Reporting failed selection...', 'loading', 'reporting_wizlite' + id);
	this.call('report.js?type=failure&id=' + id);
	return true;
},
deleteSelection: function (id) {
	this.status('Deleting selection...', 'loading', 'deleting_wizlite' + id);
	this.call('delete.js?id=' + id);
	return true;
},
saveNote: function (id) {
	this.status('Saving note...', 'loading', 'savenote_wizlite' + id);
	this.call('note.js?id=' + id + "&note=" + escape(document.getElementById('wiz_note_text').value));
	return true;
},

Edited by Delfins
Link to comment
Share on other sites

Tas būtu ideāls variants tiem, kas strādā grupās. Piemēram, varētu pārsūtīt kolēģiem interesantu linku ar iezīmētām svarīgākajām lietām, tāpat varētu kopīgi taisīt dažādus dokumentus (līdz šim esmu redzējis kaut ko līdzīgu ārzemju likumi.lv versijā - ti, katrs var izteikties par likuma redakciju, pakomentēt to vietu, kas nepatīk). Galu galā - tā var arī programmēt - piemēram, lapā stāv k.kāds programmas kods, un katrs iesaka vietas, ko varētu pamainīt.

 

Visu tekstu īsti negribas glabāt, mani vairāk interesētu idejas/algoritmi, par to, ka saglabāt pašu vietu, pie tam, veidā, kas pieļautu (nelielas) lapas satura izmaiņas. Pašlaik domas ir divas: saglabāt to pozīciju kā DOM koku (piem, komentārs par html>body>table>tr(0)>td), vai arī saglabāt tieši tekstu, kas ir komentēts, un tad nākamreiz meklēt tekstu, un to vietu iezīmēt ar citu krāsu, utt. Bet nu es mazliet ceru, ka kādam ir kaut kāda mazliet ģeniālāka ideja par manām, citādi tiešām nav jēgas pūlēties.

 

Esmu jau izpētījis, kā dara Wizlite, un kā dara vairāki citi līdzīgi projekti. Es gribu uztaisīt labāk :)

Link to comment
Share on other sites

ar to DOM koku ir OK statiskai lapai, bet!, ja kāds kaut ko minimāli pamainīs, tad viss... neatradīsi tu to zaru tik vienkārši...

 

Jāizmanto kaut kas līdzīgs DIFF-tūlim... kas tomēr māk parādīt izmaiņas.. pagūglē uz to `diff`, moš jams arī dod kaut kādu saprotamu outputu, kuru var apstrādāt/saglabāt

Link to comment
Share on other sites

×
×
  • Create New...