NOTA BENE: non sono sicuro di un 'modo di meteoriti' per fare questo, ecco come lo farei con la pianura JS.
jQuery
$("link[href='bootstrap.css']").remove();
JS - Credito al javascriptkit
function removejscssfile(filename, filetype){
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
var allsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
}
}
removejscssfile("bootstrap.css", "css")
Tuttavia, facendo che avrebbe completato rimuoverlo dalla pagina. Non sono sicuro che la meteora proverà a leggerla quando un utente accede a un'altra pagina. Se questo non viene automaticamente letto, allora c'è un problema di bootstrap che non viene incluso quando qualcuno passa dalla sezione di amministrazione al sito principale, il che interromperebbe l'aspetto del sito.
Il modo in cui vorrei andare in giro che potrebbe essere quella di disabilitare e abilitare i fogli di stile:
Meteor.autorun(function(){
if(Session.get('nobootstrap')){
$("link[href='bootstrap.css']").disabled = true;
}else{
$("link[href='bootstrap.css']").disabled = false;
}
});
Ci mio essere altre risorse bootstrap che possono avere bisogno di essere rimosso, dare un'occhiata a ciò che la pagina viene caricata.
Per utilizzare jQuery nello stesso modo, ma per i file JavaScript, ricordarsi di cambiare link alla sceneggiatura e href a 'src
Dalle mie prove, Meteor non automaticamente aggiungere nuovamente i file una volta sono stati rimossi quindi è necessario trovare un modo per reinserirli dinamicamente se si desidera che lo stesso utente possa andare avanti e indietro tra il sito principale e il sito di amministrazione. O semplicemente se il referrer http del sito principale proviene dall'amministratore, forza ricaricare la pagina e quindi le risorse bootstrap si caricheranno e tutto sembrerà carino.
P.sessere sicuri di ottenere il href corretto per la versione jQuery
ma allora come si va sulla creazione di modelli di testa separate? Da quanto ho capito, Meteor analizza tutti i file .html nel progetto e quindi concatena tutti i tag
che trova in uno che viene pubblicato per l'utente? (Ad esempio, l'inserimento di un collegamento a StyleA.css nel modello A e un collegamento a StyleB.css nel modello B ha come risultato che entrambe le teste si sfasciano insieme e che carica sia StyleA.css che StyleB.css ... –Mi dispiace, ma per quanto ne so, al momento non è possibile con la meteora.Vedi anche questo problema [qui] (https://github.com/meteor/meteor/issues/266). Ho creato un [esempio di progetto] (https: //github.com/Jasper2-0/meteor-handlebars-head/) mostrando che questo approccio risulterà nel far sì che il tuo tag {{> manubrio}} venga inserito direttamente nel tuo html ... –