Sto creando una pagina in cui è possibile immettere HTML e vedere l'output in un div al lato.
Codice:Inserimento HTML che interessa l'intera pagina
$("#tryit").keyup(function() {
var input = $(this).val();
$("#readout").html(input);
});
#readout {
height: 400px;
width: 48%;
border: 1px solid black;
overflow: auto;
float: right;
clear: none;
display: inline-block;
}
#tryit {
height: 396px;
width: 50%;
float: left;
clear: none;
display: inline-block;
font-family: monospace;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="tryit" id="tryit" rows="10"><!doctype html> <html> <head> <title>New Webpage</title> </head> <body> </body> </html>
</textarea>
<div id="readout"></div>
Esso funziona come dovrebbe: emette il codice HTML al #readout
. Ciò che non va è quando un utente aggiunge un tag <style>
nello head
. Quindi lo stile aggiunto lì influisce non solo sull'HTML nell'input del testo, ma nell'intera pagina.
Come posso fare in modo che il CSS influenzi solo l'input dell'utente e non l'intera pagina?
Questo è il Problem Page.
Come aggiunge qualcosa a "
"? Il tuo script mette tutto nel DIV di lettura. – BarmarGuarda la pagina. Prova ad aggiungere un tag di stile nella testa e a scherzare con il riempimento del corpo. Influirà sul riempimento della pagina effettiva, non sulla lettura. – TricksfortheWeb
La vera soluzione è farlo come jsfiddle e codepen do: metti il codice utente in un iframe in modo che non influisca sulla pagina principale. – Barmar