Search code examples
javascriptfacebookuserscripts

Facebook userscript events


This script only works when I move the mouse. How to arrange for it to always stay activated?

// ==UserScript==
// @name       Corrige Script
// @namespace  www.Thyago.com/corrigebug
// @version    0.1
// @description  Corrigir o bug que não permitia marcar codigos
// @include     https://*.facebook.com/*
// @include     https://facebook.com/*
// @include     http://*.facebook.com/*
// @include     http://facebook.com/*
// @author      Thyago RIbeiro (www.fb.com/thyagosr)
// ==/UserScript==

function att(){
var c = document.getElementsByName('xhpc_message_text')[0];
document.getElementsByName('xhpc_message')[0].value = c.value;
console.log(document.getElementsByName('xhpc_message')[0].value);
}

function att2(){
document.getElementsByName('message')[0].value = document.getElementsByName('message_text')[0].value;
}

function corrige(){
if(document.getElementsByName("xhpc_message_text")[0]!== undefined){
     var varDivTexto = document.getElementsByName("xhpc_message_text")[0];
     varDivTexto.addEventListener("keypress",att, false);

var c = document.getElementsByName('xhpc_message_text')[0];
document.getElementsByName('xhpc_message')[0].value = c.value;
}

if(document.getElementsByName('message')[0] !== undefined){
     var varDivTexto = document.getElementsByName('message')[0];
     varDivTexto.addEventListener("keypress",att2, false);
document.getElementsByName('message')[0].value = document.getElementsByName('message_text')[0].value;
}

}

document.addEventListener ("mousemove", corrige, true);

Solution

  • [edit] (fixed code)

    Your question is not clear and I do not know exactly what you want, try:

    //document.addEventListener ("mousemove", corrige, true); --line commented out that only works with the event "timeout"
    
    function autoCorrige(){
      //call the function "correct" - chama a função "corrige"
      corrige();
    
      //Waiting 1 second to run the code again - 1 segundo de espera para executar novamente o código
      setTimeout(autoCorrige,1000);
    }
    
    autoCorrige();//starts the automatic event - inicia o evento automático
    

    [Tips on how to make a good question]

    How to use SO (stackoverflow):

    First to have a clear and understandable question you should read:

    https://stackoverflow.com/help/asking

    when you are targeting a comet for a specific user use "@USERNAME"

    pt-br/pt: Como usar o SO (stackoverflow):

    Primeiramente para se ter uma pergunta clara e compreensível você deve ler:

    https://stackoverflow.com/help/asking

    quando você estiver direcionando um cometário para um usuário especifico use o @NOMEDOUSUARIO