Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel Carloni_165776

[Resolvido] document.write

Recommended Posts

o título do tópico está regexp porque tinha uma dúvida que foi resolvida, para evitar um novo tópico editei aqui com outra dúvida

 

para evitar de alguns itens da página serem carregados eu alterei a propriedade document.write, mais tem um detalhe e preciso saber como faser isso... sei que é possível

 

document.write = function(str)
{
document.getElementById('script').value += string;
}

 

toda vez que for chamado o document.write na página em vez de imprimir vai ser jogado

em um textarea, o problema é que se tiver por exemplo <script src="biblioteca.js"></script>

não vai ser chamada e vai ser jogada no textarea também,

como posso deixar o document.write funcionando normal apenas para ser chamado esses arquivos externos ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, você pôs o parametro como "str" mas chamou como "string". E pra quê usar o document.write pra fazer isso? Poderia ser assim:

 

function fazAlgumaCoisa( str ){
       document.getElementById( 'script' ).value += str;
}

Com relação a dúvida, você quis dizer que quer colocar na página elementos como "<script src="biblioteca.js"></script>" através dessa função? Se for o que eu imagino, teria que ser algo assim

 

function fazAlgumaCoisa( str ){
       if ( /[^\w]/.exec( str ) ) return document.body.innerHTML += str;

       document.getElementById( 'script' ).value += str;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funciona simplesmente porquê você está substituindo TODO o conteúdo da página por "<script src="code2.js"></script>". Teria que se usar o += e não o =

Compartilhar este post


Link para o post
Compartilhar em outros sites

um cara de outro fórum falou que o innerHTML não aceita a utilização de tag script,

isso não faz sentido nenhum.

 

explique a raiz do problema. O motivo de você querer usar isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu preciso disso, é uma forma para o iframe não carregar na página, mais os .js precisam serem carregados veio...

<script>
document.write = function(str)
{
	var string = str.match(/<script src="(.+?)\"/g);

for (var i=0; i<string.length; i++){
	encode = escape(string[i])+'%3E%3C/script%3E';
	document.body.innerHTML += encode;
	//document.getElementById('div').innerHTML += encode;
}
}
document.write('<script src="code.js"></scri'+'pt>');
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu preciso disso, é uma forma para o iframe não carregar na página, mais os .js precisam serem carregados veio...

então oque você quer no início de tudo, é impedir que uns iframes carreguem ?

 

remova os iframes. E coloque a tag script que você faz isso, antes de tudo no teu site, assim vai rodar logo, sem esperar baixar o restante.

logo de cara, jogue um display: none; com css nos iframes, e depois q o documento carregar, remova eles com js.

 

 

assim você não terá iframes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

display: none é praticamente a mesma coisa que que visibility:hidden, ele oculta mais é carregado, e se carregou falhou, tem coisa no script aqui que eu não posso mudar, uma dela é o lugar onde é chamado a biblioteca tem que ser em ordem, até carregar... o iframe carrega junto

Compartilhar este post


Link para o post
Compartilhar em outros sites

display: none é praticamente a mesma coisa que que visibility:hidden,

na verdade eles são diferentes.

 

 

ele oculta mais é carregado,

ok, então você quer:

impedir que os iframes sejam carregados

 

 

sobrescrever a função document.write, da forma que você propos, seria algo assim:

<script type="text/javascript">
var _write = document.write;
document.write('<br />1');//vai funcionar normal

document.write = function(){
//não faz nada
}
document.write('<br />2');//não vai funcionar
document.write('<br />2');//não vai funcionar
document.write('<br />2');//não vai funcionar
document.write('<br />2');//não vai funcionar
document.write('<br />2');//não vai funcionar


document.write = _write;
document.write('<br />3');//voltou a funcionar
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.