Vorrei evitare che un utente possa aprire i link presenti in una pagina in una nuova finestra del browser, sia dal menu contestuale del dx del mouse ("Open in new window") sia con la pressione del tasto shift+click sul link...
Qualche suggerimento?
Vorrei evitare che un utente possa aprire i link presenti in una pagina in una nuova finestra del browser, sia dal menu contestuale del dx del mouse ("Open in new window") sia con la pressione del tasto shift+click sul link...
Qualche suggerimento?
Prendi il mouse dell'utente e lo stacchi dal computer: avra` molta difficolta` ad aprire nuove finestre (tuttavia e` possibile con alt-enter o control-enter).
Altri sistemi non ce ne sono.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Ho trovato questo
ma se elimino quella riga in grassetto (non voglio che compaia un alert) e' come se non ci fosse lo scriptcodice:function mouseDown(e) { var shiftPressed=0; if (parseInt(navigator.appVersion)>3) { if (navigator.appName=="Netscape") shiftPressed=(e.modifiers-0>3); else shiftPressed=event.shiftKey; if (shiftPressed) { alert ('Shift-click is disabled.') return false; } } return true; } if (parseInt(navigator.appVersion)>3) { document.onmousedown = mouseDown; if (navigator.appName=="Netscape") document.captureEvents(Event.MOUSEDOWN); } </script>
Mi imbatto sempre piu' spesso in richieste tendenti a modificare il normale funzionamento del browser... che e' un programma di proprieta' dell'utente il quale ha il sacrosanto diritto di pretendere che lo stesso faccia quello che si aspetta.
Se dovessi incontrare un sito che stravolge il mio modo di interagire con il web, dopo una prima fase di curiosità mi invoglierebbe a:
- segnalare il malfunzionamento alla societa' che ha creato il browser;
- inoltrare protesta all'amministratore del sito;
- cercare e diffondere un antidoto;
- bannare il sito dal mio pc (anche configurando il firewall o aggiungendo una linea al file hosts);
- varie ed eventuali
Infine, da bravo moderatore che cerca di evitare fastidi all'amministratore del forum, tenterei di impedire che un simile script venga pubblicato in queste pagine e reso disponibile a tutti
ciao
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
Con tutto il rispetto per la tua funzione (utilissima) di moderatore del forum, ti chiedo: hai (avete, per chi ha gli stessi "dubbi") mai pensato che ci possano essere altre ragioni perché chi si occupa di un sito (in questo caso io) possa avere bisogno di fare una cosa di questo tipo?
Tanto per cominciare non è assolutamente mia intenzione "pilotare" né la navigazione da parte dell'utente, né il funzionamento del browser, ci mancherebbe!
Sia per questo, sia perché lo script da me riportato è facilmente riproducibile da chiunque mastichi un minimo di javascript, non vedo perché si debba ritenere illecito postarlo.
Premesso ciò, ti spiego volentieri il motivo di questa necessità.
Da poco mi sto occupando di un sito (http://www.leisuredirection.co.uk) che in una sua sezione, dedicata ad un'azienda partner (http://www.leisuredirection.co.uk/eurotunnel l'azienda partner è la Eurotunnel) ha una pagina con un iframe centrale in cui vengono caricate pagine provenienti da un altro sito, http://www.intofrance.co.uk (che fa sempre parte della stessa azienda; viene usato questo sistema perché i contenuti - vacanze ecc - sono forniti dalla stessa società attraverso diversi siti; io mi occuperò della conversione del tutto in .net & webservices, che è una soluzione molto più elegante). Poiché appunto queste pagine sono provenienti da un altro sito, non è possibile includerle in altro modo che non sia quello di un iframe autoridimensionabile, come puoi vedere tu stesso. Il problema di cui all'oggetto di questo topic riguarda proprio questo iframe: naturalmente, se clicchi su uno dei qualunque link della pagina che punta al sito "esterno" (intendo www.intofrance.co.uk), la pagina richiesta viene caricata nell'iframe ed è tutto ok; ma se per una qualsiasi ragione l'utente apre il link in una nuova finestra (ovvero da "Open in a new window" attraverso il menu contestuale del tasto dx del mouse, oppure cliccando sul link con shift premuto), vedi in una popup solo il contenuto che andrebbe invece visto nell'iframe, il che è una cosa che vorrei evitare per ovvie ragioni.
La soluzione che sto cercando è dunque quella di intercettare l'apertura del link in una nuova finestra, e caricarne la pagina nell'iframe in cui dovrebbe essere caricata invece che, appunto, in una nuova finestra, così da non visualizzare mai il layout privato di tutto..il contorno.
Per questo motivo ho trovato come intercettare lo shift+click (e in maniera analoga come evitare di utilizzare la voce, con lo stesso effetto, del menu contestuale).
Chiaro??
Posso essere d'accordo con te su questo punto, ma soltanto in parte. Fino a prova contraria se un utente si collega ad un sito che offre un determinato servizio, l'applicazione, nei limiti ovviamente della sicurezza e della privacy, deve poter funzionare come richiesto, non alla cazzo di cane. In una normale applicazione Windows puoi dire di avere un qualunque controllo?????? Assolutamente no. Non vedo perché ci dobbiamo accanire contro quelle poverette delle applicazioni web se uno vuole far funzionare una applicazione in un certo modo (che fra l'altro, *bip*, mica crea problemi all'utente)Originariamente inviato da br1
Mi imbatto sempre piu' spesso in richieste tendenti a modificare il normale funzionamento del browser... che e' un programma di proprieta' dell'utente il quale ha il sacrosanto diritto di pretendere che lo stesso faccia quello che si aspetta.
- segnalare il malfunzionamento alla societa' che ha creato il browser;
Quale malfunzionamento del browser?
Protesta de che?- inoltrare protesta all'amministratore del sito;
- cercare e diffondere un antidoto;
- bannare il sito dal mio pc (anche configurando il firewall o aggiungendo una linea al file hosts);
- varie ed eventuali
Infine, da bravo moderatore che cerca di evitare fastidi all'amministratore del forum, tenterei di impedire che un simile script venga pubblicato in queste pagine e reso disponibile a tutti
ciao
Non mi pare di aver messo in dubbio le tue sacrosante ed (allora) ignote ragioni, ho solo detto, e ribadisco, che non mi pare lecito alterare il funzionamento dei programmi di proprieta' altrui, qualunque sia il fine.
Ammettendo che tu abbia accesso al sorgente delle pagine ospitate nell'iframe, puoi adottare un metodo perfettamente legale: inserisci in ciascuna di esse lo script (reperibile nel forum) che ricrea il frameset ospitante qualora la pagina venga aperta fuori da esso.
Mi spiace per le tue esigenze, ma penso che l'interesse della collettivita' superi quello del singolo.
Per ulteriori scambi dei rispettivi punti di vista preferirei impiegare i pvt.
ciao
Edit: leggo ora il tuo ulteriore messaggio: se ritieni che io abbia leso un qualunque tuo diritto sei invitato a segnalarlo all'amministratore.
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
Io non riesco a capire perche` uno vuole per forza usare strumenti lato client (cercando di forzare il browser a fare cose che non e` autorizzato a fare) per fare cose che lato server sarebbero perfettamente legali, semplici da realizzare e universali.
Tieni presente che gli iframe sono deprecati (non sono ammessi nelle nuove versioni di XHTML e non funzioneranno nei browser di prossima generazione).
Lo strumento lato client da usare e` il <div> (evenualmente in futuro potra` essere l' <object> ).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Credo ci sia stato soltanto un malinteso, figuratiOriginariamente inviato da br1
cut
div? :master:Originariamente inviato da Mich_
Io non riesco a capire perche` uno vuole per forza usare strumenti lato client (cercando di forzare il browser a fare cose che non e` autorizzato a fare) per fare cose che lato server sarebbero perfettamente legali, semplici da realizzare e universali.
Tieni presente che gli iframe sono deprecati (non sono ammessi nelle nuove versioni di XHTML e non funzioneranno nei browser di prossima generazione).
Lo strumento lato client da usare e` il <div> (evenualmente in futuro potra` essere l' <object> ).
come faccio ad inserire in un div il contenuto di un file proveniente da un altro sito?
br, dimenticavo di rispondere in merito a questo punto: sì, posso accedere se necessario al codice dell'altro sito perché è sempre nostro, ma non ho capito bene il discorso del frameset
Questo devi chiederlo nel forum che tratta il linguaggio che usi.Originariamente inviato da Yauchie
div? :master:
come faccio ad inserire in un div il contenuto di un file proveniente da un altro sito?
Dal punto di vista teorico:
il server si collega al sito, scarica la pagina, individua il pezzo che ti interessa e lo impacchetta in un <div> che include nella pagina che sta creando.
Dal punto di vista pratico: non lo so (e comunque dipende dal linguaggio).
Nota: potresti incappare in violazioni del copyright: vedi di avere l'autorizzazione a fare queste operazioni.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati