impostazione script

Started by hollywood9111, December 01, 2012, 06:00:23 AM

Previous topic - Next topic

hollywood9111

salve volevo sapere quando una persona clicca per scaricare un allegato e possibile che prima che lo scarica hli compare esempio una pubblicità o un immagine da cliccare?

emanuele

Tutto è possibile, ma non mi pare di ricordare niente di simile sia mai stato fatto...
Un'idea che mi viene in mente su come potresti realizzarlo è di usare javascript (magari jquery per semplificarti la vita) ed agganciare al onclick (e al onkeyup) del link dell'allegato una funzione che generi la pubblicità o quello che vuoi.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

hollywood9111


hollywood9111

giusto per capire come procedere

emanuele

Dipende dalle dritte...
Trovi ad esempio uno script tipo lightbox e lo "agganci" (il come dipende dallo script) al link, poi visualizzi quello che vuoi nel popup che viene generato (incluso, presumibilmente, il link per il download, o aggiungi un qualche altro script per farlo partire in automatico dopo un tot di secondi).
Più di così vuol dire che ti cerco lo script e te lo sistemo pronto da usare, ma "al momento" non ho la possibilità di farlo. ;)

Cerca quello che ti può andare meglio (google => lightbox clone dovresti trovarne a bizzeffe, vedi se vuoi caricare solo immagini, oppure anche pagine html, ecc.) e poi prova a vedere se riesci ad applicarlo, di solito non è difficile, basta specificare una class css da qualche parte) per eventuali problemi prova a postare, vedremo cosa si può fare.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

hollywood9111

lightbox non va bene
perchè dovrà uscire quando si clicca l'allegato un immagine con grandezza esempio 800x200
che una volta cliccato ti porta alla pagina dell'immagine quindi e un sempice collegamento tramite immagine a un url
e che dopo 2 secondi ti scarica l'allegato

hollywood9111

esempio supponiamo che ogni allegato esca la scritta clicca qua per scaricare l'allegato:
tirando giù del codice ho fatto in modo che al click della scritta o immagine che metterò aprirà un popup dell url di destinazione
<SCRIPT LANGUAGE="JavaScript">
function openWindow()
{
open ("pagina.html","new","height=300,width=400,scrollbars=0,resizable=0,status=1,menubar=0,toolbar=0,location")
}
</SCRIPT>
<A HREF="JavaScript:openWindow()" onMouseOver="window.status='Click here to visit... ';return true">Clicca qua per scaricare l'allegato</A>

manca la parte dei due secondi che ti permette di scaricare l'allegato e infine unirlo al codice smf che per me e la cosa piu complicata

emanuele

Beh, la tua ultima descrizione è piuttosto diversa dalla tua prima... :P

http://www.w3schools.com/js/js_timing.asp


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

hollywood9111

#8
visto che conosci la base del smf come incorporo il mio codice? xd
perchè gli esempi che mi hai dato apro link dopo il click dopo 3 secondi ma vorrei una cosa che una volta cliccato apre esempio la pubblictà dopo averla cliccata fa partire il download dell'allegato
sai dirmi su che file devo agire per l'allegato?

emanuele

#9
Lo sapevo che finivo per scriverlo...

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".attachments").find("a").each(function () {
$(this).data('dummy_href', $(this).attr('href'));
$(this).attr('href', '#');
var the_link = $(this);

$(this).click(function () {
setTimeout(function() {
window.location = the_link.data('dummy_href');
}, 3000);
window.open('https://github.com/Spuds', 'window name', 'window settings');
return false;
});
});
});
</script>


Aggiungilo ad index.template.php (da qualche parte che sia all'interno di del tag <head>) e funzionerà di sicuro con il tema di default (altri dipende da come chiamano la classe per i download, nel caso cambia "attachments" con quello che è la class css per il box dei download) per ogni allegato in ogni dove.

ETA corretto lo script per ovviare al bug riportato qui.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

hollywood9111

uso il default
ma esce questo:
Template Parse Error!
There was a problem loading the /Themes/default/index.template.php template or language file. Please check the syntax and try again - remember, single quotes (') often have to be escaped with a slash (\). To see more specific error information from PHP, try accessing the file directly.

You may want to try to refresh this page or use the default theme.

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in .../Themes/default/index.template.php on line 181

172:    echo '
173:
174:    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
175:    <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/spoiler.js"></script>
176:    
177:    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
178: <script type="text/javascript">
179: $(document).ready(function() {
180:    $(".attachments").find("a").each(function () {

181:       $(this).data('dummy_href', $(this).attr('href'));

182:       $(this).attr('href', '#');
183:       the_link = $(this);
184:
185:       $(this).click(function () {

hollywood9111

#11
ho corretto mettendo \ davanti al simbolo ' e funziona..edit apposto grazie mille

Advertisement: