2016-11-11 1 views
0

Actuellement, je ne comprends que les bases des bookmarklets. Par exemple, je sais que pour créer un bookmarklet qui crée simplement une alerte, vous devez utiliser le codeComment puis-je transformer mon code JavaScript en bookmarklet?

<a href="javascript:(function() { alert(); })()">Drag Me To Bookmarks</a> 

Cependant, si vous avez le javascript plus complexe, avec de multiples méthodes d'aide? Par exemple, comme je voulais créer du code javascript pour donner l'alerte "Good Morning" ou "Good evening" selon l'heure de la journée. Supposons aussi que je fais cela en utilisant 2, comme illustré ci-dessous

function getMessage() { 
    if(morning) { 
     return "Good Morning"; 
    } else if(evening) { 
     return "Good Evening"; 
    } 
} 

function myAlert() { 
    alert(getMessage()); 
} 

Comment cela serait transformé en un bookmarklet maintenant que la JS a de multiples fonctions?

+1

à usage unique emballage fonction de démarrage automatique et de garder le code reste de l'intérieur. Un exemple peut être Visual Events: http://www.sprymedia.co.uk/article/visual+event+2 – Justinas

+0

Vous pouvez également écrire votre code "normalement", puis utiliser le générateur jQuery Bookmarklet de Ben Alman pour le générer. Il charge aussi jQuery (code qui peut être enlevé) si vous en avez besoin: http://benalman.com/projects/run-jquery-code-bookmarklet/ – Mottie

Répondre

1

Vous simplement envelopper dans une fonction d'exécuter immédiatement comme dans l'exemple:

javascript:(function() { 

    function getMessage() { 
     if(morning) { 
      return "Good Morning"; 
     } else if(evening) { 
      return "Good Evening"; 
     } 
    } 

    function myAlert() { 
     alert(getMessage()); 
    } 

    myAlert(); 

})() 
+0

Merci pour votre aide. Existe-t-il un moyen d'enregistrer le fichier function() dans un fichier séparé s'il est trop volumineux? –

+0

Pas si votre plan est le signet du script, AFAIK. –