Notizie: scarica ora l'ultima versione disponibile di Firefox!

Autore Topic: Utilizzare la rotellina del mouse per andare avanti/indietro nei video YouTube  (Letto 22505 volte)

0 Utenti e 2 Visitatori stanno visualizzando questo topic.

Offline frank10

  • Post: 179
PROBLEMA

A quanto pare non esiste un'estensione che dia la comoda possibilità di utilizzare la rotellina del mouse per andare avanti/indietro nei video di Youtube.


SOLUZIONE
Si può però utilizzare uno script Greasemonkey.

In questo sito viene infatti spiegato che JavaScript può intercettare quel comando del mouse: http://ajaxian.com/archives/javascript-and-mouse-wheels

Lo script Greasemonkey per la rotella del mouse sui video Youtube l'ho creato io e funziona sia nella finestra normale che a schermo pieno!
Oltre all'avanzamento/riavvolgimento, ho aggiunto il controllo tramite rotella dell'audio e della qualità del video.

- Installare l'addon di Greasemonkey in FF.
- Poi selezionare tutto il codice dello script (è riportato più sotto) ecopiarlo negli Appunti con CTRL+C.
- Fare clic su  Strumenti -> Greasemonkey -> Nuovo script utente.
- Trovare il pulsante "Use script from Clipboard", farci su clic.
- In questa maniera Firefox installa lo script (e apparirà nella lista degli script attivi se li si vuole guardare in Componenti aggiuntivi).
- Fatto.
- Ora è sufficiente aprire normalmente una pagina di YouTube e appariranno sotto il titolo del video i nuovi comandi.

COMANDI DELLO SCRIPT

Se non si è sopra il video, l'uso della rotella è quello normale (scroll), compreso l'abbinata con il tasto CTRL (zoom).

Questo script permette di usare la rotella del mouse per comandare un video di youtube sia in finestra normale che in fullscreen.
Si può aumentare/diminuire l'audio, la qualità di riproduzione, spostarsi in avanti/indietro di vari step. Il tutto anche senza tastiera!

Sotto il titolo del video, appare il pulsante "FULL WHEEL" per entrare in fullscreen. A lato ci sono gli input: per il livello dell'audio e per i vari step di FF/REW video (min,mid,max in secondi). Più la qualità attuale del video in riproduzione.
Se si vogliono cambiare i valori in modo definitivo, si possono cambiare le prime 4 linee dello script, come indicato.

Per provare i comandi potete usare un video che abbia tutti i livelli di qualità fino al 4k, tipo questo:
http://www.youtube.com/watch?v=6pxRHBw-k8M

COMANDI SUL VIDEO
Ho suddiviso l'area dello schermo in sei parti (invisibili), in modo da assegnare alla rotella una funzione diversa per ciascuna.
Per cui se si vuole:
1) mettere in pausa/play si posiziona il mouse in centro in alto,
2) per alzare/abbassare il volume ci si sposta in alto a destra,
3) per aumentare/diminuire la qualità del video ci si sposta in alto a sinistra,
4) per spostarsi avanti/indietro nel video ci sono 3 aeree:
a) quella centrale è lo spostamento normale, il più piccolo di 3 secondi
b) quella a sinistra (ovviamente non in alto) è lo spostamento medio di 15 secondi
c) quella a destra è lo spostamento massimo di 60 secondi
Ma non è finita qui!
Se si preme il tasto SHIFT (Maiusc) in una qualunque di queste 3 aree, lo step di spostamento nel video corrisponde a 1/4 della durata del video.
Col CTRL lo step aumenta a 1/3 della durata del video
Praticamente gli step sono: 3s, 15s, 60s, 1/4film,1/3film
Combinando il tutto non si rimpiange la timeline in basso.
In ogni caso, cambiando le prime 4 righe, come indicato, si possono adattare i valori ai propri gusti.

Inoltre nella zona audio, lo SHIFT trasforma i livelli audio a 2x e il CTRL a 4x (Si possono anche combinare entrambi per avere un 8x ed avere praticamente un subito MUTE o MAX volume).

E' più facile a provare che a spiegarlo, una volta memorizzato diventa un player comodissimo, con tutti i comandi a portata di... rotella!
Vi allego una mappa:


Ho provato abbastanza e a me non dà più nessun blocco in fullscreen neppure sbagliando qualcosa, premendo il click o ESC prima del tempo. Meglio in ogni caso seguire l'uso corretto: sempre la rotella e alla fine pulsante flash in basso a destra +ESC. Non so, provate e ditemi.

Nello script c'è anche la spiegazione in inglese.

ATTENZIONE!!
Per entrare in FULLSCREEN:
**** non si deve **** usare il normale bottone in basso a destra per entrare in FULLSCREEN, (altrimenti la rotella non funziona) MA il bottone specifico creato sotto il titolo del filmato "FULL WHEEL".

E' appunto il problema di cui parlavo, che mi ha fatto perdere parecchio tempo e di cui non so se c'è una soluzione migliore di quella che ho trovato...

IL CODICE DELLO SCRIPT NEL PROSSIMO POST
« Ultima modifica: 13 Giugno 2014 22:31:19 da frank10 »

Offline frank10

  • Post: 179
Re: rotellina mouse in youtube ?
« Risposta #1 il: 31 Maggio 2014 09:24:49 »
DOWNLOAD
L'estensione si trova ora nel sito addons di mozilla, v1.1 (ex v1.3.1):
https://addons.mozilla.org/it/firefox/addon/youtube-mouse-wheel/

CODICE DELLO SCRIPT
Aggiornato lo script alla v1.3.1, 14 giugno 2014

Un'utile discussione su UserScript: link

Codice: [Seleziona]
// ==UserScript==
// @name YouTube Mouse Wheel
// @version         1.3.1
// @author frank10
// @include http://*youtube.com/watch*
// @include https://*youtube.com/watch*
// @copyright 2014 frank10
// @license GNU GPL v3.0 or later. http://www.gnu.org/copyleft/gpl.html
// ==/UserScript==


/*
-----------------------ITALIANO---------------------------
Spiegazione visuale / visual explanation
http://i.imgur.com/JQU0Jgh.png

Discussione / discussion (you can post even in English)
http://forum.mozillaitalia.org/index.php?topic=61386.0

Questo script permette di usare la rotella del mouse per comandare un video di youtube sia in finestra normale che in fullscreen.
Si può aumentare/diminuire l'audio, la qualità di riproduzione, spostarsi in avanti/indietro di vari step. Il tutto anche senza tastiera!
In tutte le altre parti della pagina lo scroll continua a servire per fare lo scroll o lo zoom col CTRL.

Sotto il titolo del video, appare il pulsante "FULL WHEEL" per entrare in fullscreen. A lato ci sono gli input per il livello dell'audio e per i vari step di FF/REW video (min,mid,max in secondi). Più la qualità attuale del video in riproduzione.
Se si vogliono cambiare i valori in modo definitivo, si possono cambiare le prime 4 linee dello script, come indicato.

Ho suddiviso l'area del player video in sei parti (invisibili), in modo da assegnare alla rotella una funzione diversa per ciascuna.
Per cui se si vuole:
1) mettere in pausa/play si posiziona il mouse in centro in alto.
2) per alzare/abbassare il volume ci si sposta in alto a destra
3) per aumentare/diminuire la qualità del video ci si sposta in alto a sinistra
4) per spostarsi avanti/indietro nel video ci sono 3 aeree:
a) quella centrale è lo spostamento normale, il più piccolo di 3 secondi  (defMoveMin)
b) quella a sinistra (ovviamente non in alto) è lo spostamento medio di 15 secondi (defMoveMid)
c) quella a destra è lo spostamento massimo di 60 secondi (defMoveMax)
Ma non è finita qui!
Se si preme il tasto SHIFT in una qualunque di queste 3 aree, lo step di spostamento nel video corrisponde a 1/4 della durata del video.
Col CTRL lo step aumenta a 1/3 della durata del video
Praticamente gli step sono: 3s, 15s, 60s, 1/4film,1/3film
Combinando il tutto non si rimpiange la timeline in basso.

Inoltre nella zona audio, lo SHIFT trasforma i livelli audio a 2x e il CTRL a 4x (Si possono anche combinare entrambi per avere un 8x ed avere praticamente subito MUTE o MAX volume).

IMPORTANTE:
****** per usare i comandi in fullscreen è NECESSARIO usare il pulsante apposito e non il classico pulsante del video flash in basso a destra! ******
Per uscire dal fullscreen bisogna premere il tasto in basso a destra + ESC
****** NON bisogna cliccare col mouse nel video, altrimenti esce dalla modalità fullscreen ******

--------------------------ENGLISH-------------------------
discussion (in Italian, but you can post even in English):
http://forum.mozillaitalia.org/index.php?topic=61386.0

Use wheel mouse on youtube videos to control video/audio.
In all mouse positions but video, you scroll the page as usual, even with ctrl key pressed to zoom.

You must position your mouse over the video and you can:

1) PAUSE/PLAY: put the mouse near the CENTRAL TOP of the screen and move the wheel up or down: if it's playing it will PAUSE or the opposite
2) VOLUME: put the mouse near the extreme TOP RIGHT of the screen and move the wheel up to raise the volume level or the wheel down to lower the volume
3) QUALITY: put the mouse near the extreme TOP LEFT of the screen and move the wheel up to raise the quality of the video or the wheel down to lower the quality
4) MOVE FF/REW: there are 3 areas to FF/REW video:
a) put the mouse in the CENTRAL area, the video fastforwards or backwards of 3 seconds (defMoveMin)
b) FASTER MOVE  put the mouse in the LEFT area, the video fastforwards or backwards of 15 seconds  (defMultiplyMid)
c) FASTEST MOVE put the mouse in the RIGHT area, the video fastforwards or backwards of 60 seconds  (defMultiplyMax)
5) SHIFT+wheel:  move video at steps of 1/4 of its duration  OR  2x change audio ;  CTRL+wheel:  move video at steps of 1/3 of its duration /4x change audio; (SHIFT+CTRL+wheel: 8x audio)
So, you have these steps to combine: 3s, 15s, 60s, 1/4video, 1/3video
You can change the default values in the first 4 lines of code below.

The only drawback is in FULLSCREEN mode:
******  you MUST NOT use the normal button (on the bottomright)  ****** to set fullscreen,
BUT the specific button you find under the title:  "FULL WHEEL"

To exit fullscreen you must press the normal fullscreen button on the bottom-right + ESC, but sometimes it can be done only with ESC or mouse click or... try some combinations.
****** NOT press the mouse buttons, otherwise it will exit fullscreen mode ******

//----------------------------------------------

HISTORY:

version 1.3.1, 14 june 2014  :
------- bugfixed:
-) corrected behaviour on big player mode

version 1.3.0, 12 june 2014  :
-) adapted normal window to the same behaviour of the fullscreen

version 1.2.5, 8 june 2014  :
------- bugfixed:
-) adapted wheel detection to every mouse's settings

-) quality change does not try anymore to change when raised the min/max quality.
version 1.2.1, 5 june 2014  :
------- bugfixed:
-) quality change does not try anymore to change when raised the min/max quality.

version 1.2.0, 3 june 2014  :
------- bugfixed:
-) It seems also there are no more blocks in fullscreen mode: solved the old: "all wheel commands work well, but SOMETIMES (I don't know why up to now), if you click the left mouse button
it suddenly exits fullscreen mode... SOMETIMES instead it stays full..."

------- new features:
-) now in fullscreen mode you can use ONLY the wheel mouse to play/pause, raise/lower the volume, play at higher/lower quality without the needs of mouse clicks!
With 6 deifferent areas for different tasks (see link with visual explanation at the beginning)

version 1.1.0, 2 june 2014  :
------- bugfixed:
-) changed "window.onload" with "window.addEventListener("load", function(e) {" at the beginning: with "window.onload" youtube's comments were not loaded!! (?)

------- new features:
-) now in fullscreen mode you can use ONLY the wheel mouse to play/pause, raise/lower the volume, play at higher/lower quality!
1) put the mouse near the central top of the screen and move the wheel up or down: if it's playing it will pause or the opposite
2) put the mouse near the extreme right of the screen and move the wheel up to raise the volume level or the wheel down to lower the volume
3) put the mouse near the extreme left of the screen and move the wheel up to raise the quality of the video or the wheel down to lower the quality
4) all other areas move FF/REW.
5) SHIFT+scroll: 2x move / change audio, CTRL+scroll: 4x move / change audio
This way you never need to click the mouse on screen, so the fullscreen remains there.

*/


window.addEventListener("load", function(e) {

/*------  CHANGE THESE 4 LINES TO ADAPT TO YOUR NEEDS: ------*/

// seconds to FF/BW, change this to skip video more/less:
var defMoveMin = 3;    // seconds

// seconds to FF/BW, change this to skip video more/less:
var defMoveMid  = 15;   // seconds

// seconds to FF/BW, change this to skip video more/less:
var defMoveMax = 60;   // seconds

// quantity to increase/decrease audio level:
var defVol  = 5;   //audio level


/*-----------------------------------------------------------*/


// intercept wheel mouse:
if (window.addEventListener)
window.addEventListener('wheel', youtubeWheel, false);
window.onmousewheel = document.onmousewheel = youtubeWheel;

//get flash video object
var player = unsafeWindow.document.getElementById('movie_player');

// create button and inputs for fullscreen wheel:
var Fls_div = document.createElement('div');
var inpSound = document.createElement('input');
inpSound.setAttribute('id', "inpS");
inpSound.type = "text";
inpSound.value = defVol;
inpSound.setAttribute('name',"inpS");
inpSound.setAttribute("size", 1);
var spanSound=document.createElement('span');
spanSound.appendChild(document.createTextNode("  aLev:"));

var inpMoveMin = document.createElement('input');
inpMoveMin.setAttribute('id', "inpMin");
inpMoveMin.type = "text";
inpMoveMin.value = defMoveMin;
inpMoveMin.setAttribute('name',"inpMin");
inpMoveMin.setAttribute("size", 1);
var spanMoveMin=document.createElement('span');
spanMoveMin.appendChild(document.createTextNode("  vMin:"));

var inpMoveMid = document.createElement('input');
inpMoveMid.setAttribute('id', "inpMid");
inpMoveMid.type = "text";
inpMoveMid.value = defMoveMid;
inpMoveMid.setAttribute('name',"inpMid");
inpMoveMid.setAttribute("size", 1);
var spanMoveMid=document.createElement('span');
spanMoveMid.appendChild(document.createTextNode("  vMid:"));

var inpMoveMax = document.createElement('input');
inpMoveMax.setAttribute('id', "inpMax");
inpMoveMax.type = "text";
inpMoveMax.value = defMoveMax;
inpMoveMax.setAttribute('name',"inpMax");
inpMoveMax.setAttribute("size", 1);
var spanMoveMax=document.createElement('span');
spanMoveMax.appendChild(document.createTextNode("  vMax:"));

var spanQual= document.createElement('span');
spanQual.appendChild(document.createTextNode(""));
spanQual.setAttribute('id', "spanQ");

var spanButton=document.createElement('span');
spanButton.appendChild(document.createTextNode("FULL WHEEL"));

var btn=document.createElement('button');
btn.setAttribute('id', "ButtFull");
btn.setAttribute('class', 'yt-uix-button yt-uix-button-default yt-uix-tooltip yt-uix-tooltip-reverse');
btn.appendChild(spanButton);
Fls_div.appendChild(btn);
Fls_div.appendChild(spanSound);
Fls_div.appendChild(inpSound);
Fls_div.appendChild(spanMoveMin);
Fls_div.appendChild(inpMoveMin);
Fls_div.appendChild(spanMoveMid);
Fls_div.appendChild(inpMoveMid);
Fls_div.appendChild(spanMoveMax);
Fls_div.appendChild(inpMoveMax);
Fls_div.appendChild(spanQual);
document.getElementById('watch7-headline').appendChild(Fls_div);
document.getElementById("spanQ").innerHTML= " videoQual: " +  getPlayerQuality() ;

var videoFullscreen = document.getElementById("ButtFull");
if (player && videoFullscreen) {
videoFullscreen.addEventListener("click", function (evt) {
if (player.requestFullscreen) {
player.requestFullscreen();
}
else if (player.msRequestFullscreen) {
player.msRequestFullscreen();
}
else if (player.mozRequestFullScreen) {
player.mozRequestFullScreen();
}
else if (player.webkitRequestFullScreen) {
player.webkitRequestFullScreen();
}
}, false);
} //end addeventlistener-click of button

function getPlayerQuality(){
var q = player.getPlaybackQuality()
switch (q) {
case 'tiny':
q = '144p';
break;
case 'small':
q = '240p';
break;
case 'medium':
q = '360p';
break;
case 'large':
q = '480p';
break;
case 'hd720':
q = '720p (HD)';
break;
case 'hd1080':
q = '1080p (FullHD)';
break;
case 'hd1440':
q = '1440p (2k)';
break;
case 'highres':
q = '2160p (4k)';
break;
}
return q;
}

function youtubeWheel(e){
    if (!e) e = window.event;
if ( (e.target.id != "movie_player") && (!window.fullScreen) )  return;

preventDefault(e); // block scrolling

var delta = 0;
    if (e.wheelDelta) {
        delta = e.wheelDelta/120;
        if (window.opera) delta = -delta;
    } else if (e.deltaY) {
        delta = -e.deltaY/3;
    } else if (e.detail) {
        delta = -e.detail/3;
    }

    if (delta) {
var elemRect = player.getBoundingClientRect();
var vD = player.getDuration();
var ct = player.getCurrentTime();
var dur = player.getDuration();
var gv = player.getVolume();
var actualQual = '';
var aq = player.getAvailableQualityLevels();//Array
var pq = player.getPlaybackQuality();// String
//highres, hd1080, hd720, large 480, medium 360 and small 240 and  default. It will also return undefined if there is no current video.
//var ar = player.getAvailablePlaybackRates();//Array
//var pr = player.getPlaybackRate();

for (var i = 0; i < aq.length; i++) {
if (pq == aq[i]) {
actualQual = i;
break;
}
}

var stepSound  = document.getElementById("inpS").value;
var stepMove   = document.getElementById("inpMin").value;
var audTag   = 0;
var qualTag  = 0;
var moveTag  = 0;

var mouseX, mouseY, playerW, playerH;
if ( window.fullScreen ) {
mouseX = e.clientX;
mouseY = e.clientY;
playerW   = screen.width;
playerH   = screen.height;
}
else {
mouseX = e.clientX - elemRect.left;
mouseY = e.clientY - elemRect.top;
playerW   = elemRect.right - elemRect.left;
playerH   = elemRect.bottom - elemRect.top;
}

var posX = ( (mouseX >= playerW *0.10) && (mouseX <= playerW *0.90) );   //on the extreme central top: (15% of video height screen)
if (mouseX > playerW *0.90 && mouseY >= playerH *0.15) {  //on the extreme lower right: (90% of video screen)
moveTag = 3;
}
else if (mouseX < playerW *0.10 && mouseY >= playerH *0.15) { //on the extreme lower left: (10% of video screen)
moveTag = 2;
}
else if ((mouseY < playerH *0.15) && posX ) {  //on the extreme central top: (15% of video height screen)
var state = player.getPlayerState();
if ( (state == 1) ||  (state == 3) ) {
player.pauseVideo();
}
else if (state == 2){
player.playVideo();
}
return;
}
else if ( mouseY < playerH *0.15 &&  mouseX < playerW *0.10 ) {  //on the extreme topLeft: (15% of video height screen)
qualTag = 1;
}
else if ( mouseY < playerH *0.15 &&  mouseX > playerW *0.90 ) {  //on the extreme topRight: (15% of video height screen)
audTag = 1;
}
else { // central area
moveTag = 1;
}

if( +delta > 0 ) { // wheel up

if ( audTag == 1 ) {
// set youtube audio up
if (e.shiftKey) stepSound = +stepSound*2;
if (e.ctrlKey)  stepSound = +stepSound*4;
player.setVolume(+gv + +stepSound);
}
else if ( qualTag == 1 ) {
// set youtube playback quality up
if (actualQual == 0) return;
if ( actualQual > 0 )
actualQual -= 1;
player.setPlaybackQuality(aq[actualQual]); //String
document.getElementById("spanQ").innerHTML= " videoQual: " + getPlayerQuality() ;
player.seekTo(ct-1, true);
}
else {
// set youtube video forward:
if (e.shiftKey) {
stepMove = vD/4;
}
else if (e.ctrlKey) {
stepMove = vD/3;
}
else if ( moveTag == 2) {
stepMove = document.getElementById("inpMid").value;
}
else if ( moveTag == 3 ) {
stepMove = document.getElementById("inpMax").value;
}
player.seekTo(+ct + +stepMove, true);
}
// set youtube playback rate up
// if (e.altKey) { player.setPlaybackRate(); //rates may include values like 0.25, 0.5, 1, 1.5, and 2.
}
else {  // wheel down
if ( audTag == 1 ) {
// set youtube audio down
if (e.shiftKey) stepSound = +stepSound*2;
if (e.ctrlKey)  stepSound = +stepSound*4;
player.setVolume(gv - stepSound);
}
else if ( qualTag == 1 ) {
// set youtube playback quality down
if (actualQual == aq.length -1) return;
if ( actualQual < aq.length -1)
actualQual += 1;
player.setPlaybackQuality(aq[actualQual]);
document.getElementById("spanQ").innerHTML= " videoQual: " + getPlayerQuality() ;
player.seekTo(ct-1, true);
}
else {
// set youtube video backward:
if (ct > (dur-.5) ){
player.seekTo(0, true);
return;
}
if (e.shiftKey) {
stepMove = vD/4;
}
else if (e.ctrlKey) {
stepMove = vD/3;
}
else if ( moveTag == 2) {
stepMove = document.getElementById("inpMid").value;
}
else if ( moveTag == 3 ) {
stepMove = document.getElementById("inpMax").value;
}
player.seekTo(ct - stepMove, true);
}
// set youtube playback rate down
//if (e.altKey) { player.setPlaybackRate(); //rates may include values like 0.25, 0.5, 1, 1.5, and 2.
}

}

}

function preventDefault(e) {
e = e || window.event;

//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = false;

//e.stopPropagation works only in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}


}, false); //addevent load all code AND youtube's comments!
« Ultima modifica: 11 Luglio 2014 09:17:02 da frank10 »

Offline frank10

  • Post: 179
Re: rotellina mouse in youtube ?
« Risposta #2 il: 31 Maggio 2014 10:52:53 »
Allora, veniamo a qualche spiegazione tecnica.

Col pulsante di youtube per il fullscreen, il javascript
Codice: [Seleziona]
window.fullScreen non funziona.
E, in fullscreen neppure vanno gli eventi del mouse click e della rotella:
Codice: [Seleziona]
window.addEventListener('DOMMouseScroll', youtubeWheel, false);
window.addEventListener('click', interceptClicks, false);


Inoltre, nella finestra normale, per intercettare i click del mouse, funzionano solo se non si è sopra il video...

Allora, ho provato la funzione del javascript per creare un fullscreen del browser, invece di quello del video flash:
Codice: [Seleziona]
player.mozRequestFullScreen();
Ma usandolo così, direttamente, non funzionava...
Bisognava metterlo all'interno di un addEventListener (il motivo è per ragioni di sicurezza) collegato a un altro elemento: ho quindi creato il bottone e fatto:
Codice: [Seleziona]

var videoFullscreen = document.getElementById("ButtFull");
if (player && videoFullscreen) {
videoFullscreen.addEventListener("click", function (evt) {
              [...cutCode...]
      player.mozRequestFullScreen();
        }, false);
}
Così va. E intercetta correttamente la rotella del mouse anche in fullscreen!
Ma niente da fare ancora per intercettare i mouse clicks e ad esempio il tasto ESC.

In ogni caso, c'è il problema che ho descritto sopra: qualche volta al click del mouse si toglie dal fullscreen...! Non so perché e solo per qualche volta.
Penso possa essere perché il flash player pensa di essere ancora in modalità normale, non fullscreen (dato che l'ho messo in fullscreen tramite javascript e non tramite il suo pulsante), quindi quando si clicca, si passa il controllo al player flash e ritorn in finestra normale . Non so perchè qualche rara volta invece rimane in full.

Sarebbe più bello intercettare il clic sul pulsante del video flash per il fullscreen, non farlo eseguire e invece fare eseguire il fullscreen corretto.
Ma non so farlo, né se è possibile farlo, non credo. Ho provato a posizionare un div quadrato sopra il pulsante per vedere se intercettava i click, ma niente...

Funziona tutto come hai descritto.
Tranne l'uscita dalla modalità schermo intero.
Talvolta non si esce in nessun modo, non esce dallo schermo intero col semplice clic, non esce con ESC, non esce col normale bottone in basso a destra + ESC. Non sempre ma capita spesso.
E' capitato anche a me qualche rara volta: si risolve premendo ctrl+alt+can --> annulla. Poi Firefox chiede se si vuole fermare un plugin che blocca la pagina.

Ma ultimamente, seguendo *alla lettera* la procedura descritta, non me lo fa più.
Cioè bisogna partire con un browser appena avviato e stare attenti a non fare click per sbaglio quando in full, oppure di premere ESC prima di aver premuto il bottone in basso a destra etc.
Cioè muovendo solo la rotella e alla fine fare la procedura per uscire, a me adesso non sbaglia mai.
Certo che rimane pur sempre un workaround...

Dall'ultima versione 1.2.0 mi pare non dia più problemi di blocco, neppure sbagliando a cliccare o premendo ESC. Al limite si toglie dalla modalità fullscreen, ma non si blocca più.

In ogni caso il fatto di non poter mai fare clic per fermare il video in full, mi ha suggerito un'idea per migliorare di molto l'uso in full: si farà tutto e di più con la sola rotella!!
Alla fine sarà più comodo andare in full che in finestra normale.
Mi è diventato un player che non fa rimpiangere quello che uso normalmente. Infatti spesso scaricavo il video da YouTube per poterlo guardare sul player a parte con la comodità della rotella e volume etc. Ora non più!

C'è un altro bug che ho già risolto: bisogna cambiare la prima riga di codice: "windows.onload etc" perché così youtube non carica più i commenti al video...

Bisogna fare attenzione a script che stravolgono il player originale di youtube, come ad esempio viewTube_GM  o FlashBlock:
La causa è viewTube_GM (l'ho provato) perché cambia completamente il video flash e lo trasforma in un player Quicktime. Ovviamente non si può pretendere che possa funzionare lo script.
Bisogna almeno che il player di YouTube rimanga quello solito. Non penso infatti che altri script/addon influiscano proprio perché si limitano a creare bottoni, impostare alcune funzioni del player o dare link per lo scaricamento. Invece in questo caso viene proprio stravolto il player originale.
In ogni caso basta andare nella gestione degli script e disattivare viewtube_GM per provare lo script.
« Ultima modifica: 07 Giugno 2014 22:42:17 da frank10 »

Offline Iceberg

  • Moderatore
  • Post: 9022
Re: rotellina mouse in youtube ?
« Risposta #3 il: 31 Maggio 2014 14:30:59 »
Il sito degli script di Greasemonkey lo si trova (ancora per quanto?) all'indirizzo suggerito in questa discussione:
http://forum.mozillaitalia.org/index.php?topic=61242.0
« Ultima modifica: 05 Giugno 2014 22:49:05 da miki64 »

Offline fabrixx

  • Post: 5888
Re: rotellina mouse in youtube ?
« Risposta #4 il: 05 Giugno 2014 22:15:33 »
Funziona  :)

Grazie 1000 davvero bravo complimenti!

Offline frank10

  • Post: 179
@fabrixx
mi fa piacere ti piaccia! grazie.
Anch'io più lo uso e più mi pare insostituibile, addirittura a volte mi sbaglio con la rotella quando uso un player standalone tipo potplayer o MPC-HC, perché farebbe comodo avere il controllo sia dello spostamento video(con vari step) che dell'audio, il tutto senza dover toccare la tastiera!

Grazie Miki64, ottimo lavoro! Penso che il tutto sia più ordinato e leggibile, così.
Secondo te è meglio che lasci una sola versione dello script, la più aggiornata, magari nel primo post, e cancello via via le altre oppure lascio anche traccia delle precedenti?
Non vorrei che facessero confusione.
Forse appunto è meglio che aggiorni di volta in volta il primo post con degli EDIT, in modo che basta leggere quelli e copiare l'ultima versione.

Offline frank10

  • Post: 179
Ok, effettivamente le estensioni sono comode, però non ne ho mai fatte.

Ho provato il sistema automatico con l'ultima versione del mio script, qui:
https://arantius.com/misc/greasemonkey/script-compiler.php

e mi ha dato questo xpi:
https://www.mediafire.com/?ubkq1oh1bblzcsk

Installato (dopo aver disattivato lo script), crea il pulsante, ma lo script non funziona...
In pratica non trova correttamente il player flash al caricamento della pagina, EDIT: è un problema dell'  XPCNativeWrappers di GreaseMonkey, risolto 2 post sotto.

Per ora non ho tempo per imparare bene la trasformazione, a meno che non ci sia qualcosa di molto veloce da imparare o un altro strumento automatico per creare l'xpi.

Per il resto, avete provato il comportamento nell'uscita dal fullscreen? Vi si è mai bloccato come nella prima versione?
« Ultima modifica: 06 Giugno 2014 15:11:08 da frank10 »

Offline frank10

  • Post: 179
@Miki64, ho provato a sostituire la versione dello script nel 1° post, ma mi dice che ho superato il limite dei 20000 caratteri...

Non credo ci stia la spiegazione intera + il codice.

Forse è meglio spostare nel 2° post  il codice (con spazio per le versioni future che potrebbero essere ancor più lunghe).
Nel terzo post mettere la spiegazione tecnica.
Provo a spostare.


@Iceberg / pegasoc
Ho risolto il problema che dava nell'xpi
Questo va ed è l'ultima versione 1.2.1:
http://www.mediafire.com/download/tuo8ru6yb8ickb6/youtubemousewheel.xpi

Per farlo restartless invece bisogna fare la conversione a mano, per cui per ora soprassiederei.

EDIT: ho aggiornato all'ultima versione anche lo script sopra al 2° post.
« Ultima modifica: 06 Giugno 2014 15:11:50 da frank10 »

Offline Iceberg

  • Moderatore
  • Post: 9022
Provato, anzi provata l'estensione che non necessita di riavvio.

Funziona tutto come descritto.
Ci sono due problemini.
L'uscita dalla modalità schermo intero, che ora è meno un problema rispetto a prima, ora capita spesso di rispettare la procedura e poter uscire con ESC. Il merito principale va alla pausa in alto al centro. Però se si sbaglia non si esce. Si esce, per carità, ma ricorrendo a trucchi. In verità non è che ESC + clic su schermo intero non disabiliti lo schermo intero, lo disabilita ma rimbalza, si riattiva dopo un decimo di secondo.

Il secondo problema deriva dall'estensione FlashBlock, con essa il clic sul tuo tasto schermo intero non fa nulla.

Ritornando alla premessa, ho fatto l'estensione senza riavvio tramite l'estensione Scriptify:
https://addons.mozilla.org/it/firefox/addon/scriptify/

Offline frank10

  • Post: 179
Bravo Iceberg!

EDIT: ho installato Scriptify e ho visto il menù, adesso provo.

Per FlashBlock, penso sia chiaro che non può andare: il mio script funziona se la pagina di youtube è quella originale col suo player in flash. Qualsiasi estensione che disabiliti/blocchi/rimuova il player flash originale non può per definizione funzionare. Tutte le altre che si limitano ad aggiungere funzionalità invece sì.

Per l'uscita da schermo, interessante, perché non capisco come da me non faccia più quella specie di blocco: io riesco sempre a uscire col semplice ESC qualunque cosa abbia fatto anche sbagliata e non mi ritorna in fullscreen subito dopo, solo di nuovo col mio pulsante! Molto strano. Non so cosa pensare.
Il massimo che mi fa è qualche rara volta cliccando sullo schermo per sbaglio, invece di uscire rimane in full... e allora magari il solo ESC non basta per uscire, ma basta appunto rifare pulsante in basso a destra+ ESC ed esce.

Se qualcun altro può postare la sua esperienza col fullscreen, ci facciamo forse un'idea più precisa. Magari sarebbe utile provare disabilitando le estensioni che interagiscono con youtube per vedere se possono essere quelle ad interferire.

EDIT2: ho provato Scriptify e funziona bene!
Non ho però visto nel menu dove si può esportare l'xpi per condividerlo. Come si fa l'export dell'add-on?
« Ultima modifica: 06 Giugno 2014 20:08:56 da frank10 »

Offline Iceberg

  • Moderatore
  • Post: 9022
Hai trovato la voce Scriptify in alto sulla destra della pagina about:addons.

Quando non si esce da schermo intero non va F11, non va ESC, non va ESC + Clic.
Funziona Meta + . ma è una scorciatoia di KWin e in un certo senso non vale è troppo tipico di KDE.

Edit.
Una volta fatta una estensione con Scriptify, in essa dove normalmente apparirebbe "Preferenze" appare "Scriptify", clic, si apre un menu, una voce è Export.
« Ultima modifica: 06 Giugno 2014 20:16:03 da Iceberg »

Offline Iceberg

  • Moderatore
  • Post: 9022
A te non appare così?


Offline frank10

  • Post: 179
Macché:

Non c'è proprio il bottone scriptify né quei cerchi rossi.
Hai anche tu FF 29.0.1?

Offline Iceberg

  • Moderatore
  • Post: 9022
I cerchi rossi sono le iconcine dei tasti per disattivare le estensioni attive, verde se il tasto attiva estensioni non attive.

Riavvia dopo aver disabilitato Greasemonkey. Dovrebbe apparirti la voce "Scriptify" che vedi nell'immagine.

Offline frank10

  • Post: 179
Ho provato, ma non appare nulla.
Al posto dei cerchi io ho dei pulsanti testuali.

0 Utenti e 2 Visitatori stanno visualizzando questo topic.