Domanda

Sto lavorando su un piccolo script GreaseMonkey dove vorrei inserire un plugin jQuery (Markitup) in modo che lo script è completamente autonomo (immagini + js) tranne che per jQuery che viene servita da Google.

Ho trovato il sito http://www.greywyvern.com/code/php/binary2base64 che dice che è possibile incorporare JavaScript con il href se BASE64 codificare lo script, molto simile al servizio immagini come basse64 dal CSS.

<script type="text/javascript" href="data:text/javascript;base64,dmFyIHNjT2JqMSA9IG5ldyBzY3Jv..."></script>

Così ho provato ma non sono riuscito a farlo funzionare a tutti, utilizzando Firefox 3.0.5 su OS X.

ho messo insieme una piccola pagina di prova per isolare il problema, ma non sono riuscito a farlo funzionare in quella pagina sia.

<!DOCTYPE HTML>
<html>
   <head>
      <title>Title</title>
      <meta charset="utf-8">
   </head>
   <body>
      <script href="data:text/javascript;base64,YWxlcnQoJ2FzYWRhc2QnKTsK"></script> 
      <script>alert('a');</script>  
   </body>
</html>

La stringa base64 (YWxlcnQoJ2FzYWRhc2QnKTsK) dice alert('asadasd'); quindi dovrei ottenere due avvisi, ma l'unico che vedo è la seconda in cui l'allarme si trova sotto forma di testo all'interno del tag script.

Sto facendo qualcosa di sbagliato o perché non è questo lavoro, tutte le idee?

È stato utile?

Soluzione

forse solo un pensiero, ma forse la "href" deve essere "src", invece.

Altri suggerimenti

Se desideri controllare la sintassi tag script si otterrebbe

<script src="..."
        ^^^
        src NOT href

Utilizzando URI dati qui non funziona in IE 6 btw.

E 'buffo, sto lavorando esattamente lo stesso problema:. Fare uno script Greasemonkey per aggiungere markItUp a tutte le textarea di una pagina

Ora, non ho un problema con lo script libreria stessa. Non vedo il motivo per cui si desidera inserire come Base64, in ogni caso. Come sottolineato, sarà più grande.
Si può mettere direttamente nello script GM, se si desidera (alcune persone che con jQuery), oppure aggiungere dinamicamente un <script src="someURL"></script> al documento e attendere per il caricamento (ci sono numerosi esempi di che in Rete) (inconveniente: crea un traffico sui siti che tengono i file), oppure, come attualmente sto cercando, utilizzando la più recente 0.8) caratteristica di GM (:

// @require      jquery.js
// @require      markitup.js
// @resource     miuStyle style.css

I file JS necessari vengono caricati automaticamente nello script GM da una copia locale, che è veloce e sempre disponibile. Non utilizzare le versioni confezionati, non funzionano qui. Ho anche avuto problemi con set.js così ho appena messo in direttamente nello script.
Funziona bene, ma non ho lo stile né le icone ancora.
Devo mettere il testo miuStyle nella pagina Web, credo, e modificarlo in modo tutte le immagini di sfondo si riferiscono alla stessa immagine ospitata su Photobucket o simili, con offset. Non ho trovato un modo per utilizzare le immagini locali (in CSS), ahimè, anche con @Resource.

La mia risposta non risolve il problema, ahimè (ma l'osservazione di Giovanni sembra valido), ma si potrebbe mettere in un altro, la soluzione più semplice.

Base-64 rende il file più grande, ma lo rende più leggibile dalla macchina in modo che in realtà aumenta Page Speed. Posso sicuramente vedere perché ci si vuole questo, a meno che non si vuole guardare a 50 linee di parole senza senso nel file. Cordiali saluti, ho appena letto uno studio che Base 64 in realtà carichi più lenta su cellulare in modo se la vostra applicazione è mobile pesante mi piacerebbe stare lontano

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top