Duvida com JavaScript (marcar topico como lido)

1 resposta
Fuhrmann

Olá galera, sou novo por aqui.

Tenho um forum na plataforma vBulletin e atualmente estou tentando implementar a seguinte ferramenta para os meus usuários:

[IMG]http://i54.tinypic.com/24pmg4z.png[/IMG]

Ao clicar neste botão: [img]http://img684.imageshack.us/img684/2545/olhotrasp16x16.png[/img] o topico selecionado some da lista de topicos novos e é automatiacmente marcado como lido.

Como estou fazendo isso: Onclick do botão:
<a href="javascript:document.getElementById('thread_{vb:raw thread.realthreadid}').innerHTML = '';var janela = window.open('http://www.portalfps.com.br/pfps/forumdisplay.php?do=markread&t={vb:raw thread.realthreadid}&&amp;markreadhash={vb:raw bbuserinfo.securitytoken}','mywin',
'left=0,top=0,width=0,height=0,toolbar=0,resizable=0');janela.close();"><img src="http://img684.imageshack.us/img684/2545/olhotrasp16x16.png"/></a>
Este
{vb:raw thread.realthreadid}
seria uma variavel do vBulletin, entao desconsiderem. O codigo em HTML final é este:
<div id="thread_21121" class="icon0 rating0 nonsticky">
		<div class="threadinfo thread">
			<!--  status icon block -->
			<a class="threadstatus" rel="vB::AJAX" style="cursor: pointer; "></a>
		
			<!-- title / author block -->
			<div class="inner">
				<h3 class="searchtitle">
			<a href="javascript:document.getElementById('thread_21121').innerHTML = '';var url = new URL(?http://www.portalfps.com.br/pfps/forumdisplay.php?do=markread&t=21121&&markreadhash=[telefone removido]-0f87fc9599022a825748a2a1a0b66e98a249645a?);BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));"><img src="http://img684.imageshack.us/img684/2545/olhotrasp16x16.png"></a>	


                    <a href="showthread.php?21121-O-Dia-em-que-Chuck-Norris-foi-assaltado-(FATO-REAL-!)&amp;goto=newpost" id="thread_gotonew_21121"><img class="gotonewpost" src="images/bf3/buttons/firstnew.png" alt="Ir para 1º novo post" title="Ir para 1º novo post"></a>
						
						
					
                                        
					
                    <a class="title threadtitle_unread" href="showthread.php?21121-O-Dia-em-que-Chuck-Norris-foi-assaltado-(FATO-REAL-!)" id="thread_title_21121" title="Se alguém perguntasse quem é a última pessoa que alguém pensaria em assaltar, certamente 80% dos entrevistados ou mais responderia &quot;Chuck Norris&quot;. ...">O Dia em que Chuck Norris foi assaltado (FATO REAL !)</a>

				</h3>
						

				<div class="threadmeta">				
					<div class="author">
						<span class="label">Iniciado por&nbsp;<a href="member.php?12777-Juliano_bdby" class="username understate" title="Iniciado por Juliano_bdby em 02/10/2010 22:16">Juliano_bdby</a>,&nbsp;02/10/2010&nbsp;22:16</span>
						
						
					</div>
					
				</div>

			</div>				
			<!-- iconinfo -->
			<div class="threaddetails td">
				<div class="threaddetailicons">
					
					
					
					
					
					
				</div>
			</div>
		</div>
		
		
		<!-- threadstats -->
		
		<ul class="threadstats td alt" title="">
			<li class="stats"><a href="misc.php?do=whoposted&amp;t=21121" onclick="who(21121); return false;">Respostas</a>: 5</li>
			<li class="stats">Visualizações: 62</li>
		</ul>
							
		
		<!-- lastpost -->
		<dl class="threadlastpost td">
			<dt class="lastpostby hidden">Último Post de:</dt>
			<dd>Último Post: Hoje <em class="time">21:24</em></dd>
			<dd>
			
				por <a href="member.php?43791-zetsubr">zetsubr</a>
			
 &nbsp;<a href="showthread.php?21121-O-Dia-em-que-Chuck-Norris-foi-assaltado-(FATO-REAL-!)&amp;p=215697#post215697"><img src="images/bf3/buttons/lastpost-right.png" alt="Ir para último post" title="Ir para último post"></a>
			</dd>
		</dl>
		

		<div class="threadpostedin td alt">
			<p>
				Fórum:<br><a href="forumdisplay.php?33-OFF-Topic" title="OFF Topic">OFF Topic</a>
			</p>
		</div>

				
		
		<!-- fourth block -->
		<label class="threadimod">
			<input type="checkbox" id="thread_imod_checkbox_21121" name="imodcheck[21121]">
		</label>
		
		
	</div>
Resumindo, eu altero a div "thread_numero" do topico para ele sumir da vista do usuário e para eu poder marcar o topico como lido, preciso acessar uma url:
http://www.portalfps.com.br/pfps/forumdisplay.php?do=markread&t={vb:raw thread.realthreadid}&&amp;markreadhash={vb:raw bbuserinfo.securitytoken}
e consequentemente o sistema reconhece o pedido e marca o topico como lido. Eu abro uma popup e depois logo a fecho (eu sei, é idiota, mas foi a unica maneira que achei)

Minha duvida seria se teria como em javascript eu conseguir fazer com que não precisasse ser aberto esta janela e apenas validar esta URL entrando nela por algum comando ou etc.

Abraços! Qualquer duvida, postem que eu respondo.

1 Resposta

Fuhrmann

Bom pra quem um dia quiser saber, resolvi meu problema assim (usando Ajax):

Deixando mais limpo para entender:

document.getElementById('thread_{vb:raw thread.realthreadid}').innerHTML = ''; if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); } xmlhttp.open('GET','http://www.portalfps.com.br/pfps/forumdisplay.php?do=markread&t={vb:raw thread.realthreadid}&&amp;markreadhash={vb:raw bbuserinfo.securitytoken}',true); xmlhttp.send();

Criado 4 de outubro de 2010
Ultima resposta 6 de out. de 2010
Respostas 1
Participantes 1