Ir para conteúdo

POWERED BY:

Arquivado

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

ces

[Resolvido] On Click para On Load

Recommended Posts

Bom dia Pessoa,

 

Preciso da ajuda dos colaboradores de javascript. Meu forte não é javascript e portanto preciso modificar esta função para que a pagina possa abrir em modo FULL SCREEN. No entanto, a função que possuo SOMENTE funciona quando o onclick. Tentei modificar com o pouco conhecimento que tenho de javascript. Alem disso, essa função poderá ajudar outros desenvolvedores. Segue abaixo a função criada para evento do click. Precisaria que funcionasse com o carregamento da pagina(on Load):

 

Obs.: Tentei utilizar onLoad no lugar e chamando na tag body a função mas não deu certo.

 

<script type="text/javascript">
var e = document.getElementById("fullscreen");

e.onclick = function() {

if (RunPrefixMethod(document, "FullScreen") || RunPrefixMethod(document, "IsFullScreen")) {
	RunPrefixMethod(document, "CancelFullScreen");
}
else {
	RunPrefixMethod(e, "RequestFullScreen");
}

}

var pfx = ["webkit", "moz", "ms", "o", ""];
function RunPrefixMethod(obj, method) {

var p = 0, m, t;
while (p < pfx.length && !obj[m]) {
	m = method;
	if (pfx[p] == "") {
		m = m.substr(0,1).toLowerCase() + m.substr(1);
	}
	m = pfx[p] + m;
	t = typeof obj[m];
	if (t != "undefined") {
		pfx = [pfx[p]];
		return (t == "function" ? obj[m]() : obj[m]);
	}
	p++;
}

}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

oq você pode fazer, é o seguinte cara:

 

e.onclick = full;

var full = function() {

if (RunPrefixMethod(document, "FullScreen") || RunPrefixMethod(document, "IsFullScreen")) {
	RunPrefixMethod(document, "CancelFullScreen");
}
else {
	RunPrefixMethod(e, "RequestFullScreen");
}
}

e então chamar no onload:

 

window.onload = function(){
   full();
}

note que deixei de uma forma, q vai continuar funcionando o click

Compartilhar este post


Link para o post
Compartilhar em outros sites

oq você pode fazer, é o seguinte cara:

 

e.onclick = full;

var full = function() {

if (RunPrefixMethod(document, "FullScreen") || RunPrefixMethod(document, "IsFullScreen")) {
	RunPrefixMethod(document, "CancelFullScreen");
}
else {
	RunPrefixMethod(e, "RequestFullScreen");
}
}

e então chamar no onload:

 

window.onload = function(){
   full();
}

note que deixei de uma forma, q vai continuar funcionando o click

 

Acredito que está correto o codigo que você modificou. No entanto, possuo outros javascript que posto abaixo. Será que está ocorrendo algum conflito pois inseri conforme me disse e não funcionou. Segue abaixo:

 

obs.: Acho que o problema está quando chamo os players 'jquery_jplayer_1' e 'jquery_jplayer_2' e logo apos eu coloquei a funcao para abrir full. Tentei chamar a função 'full();' dentro da 'HEAD' e na tag 'BODY' com onload e não deu certo. Por isso a acho que esta conflitando.

 

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap-dropdown.js"></script>
<script type="text/javascript" src="js/bootstrap-collapse.js"></script>
<script type="text/javascript" src="js/bootstrap-tab.js"></script>
<script type="text/javascript" src="js/bootstrap-modal.js"></script>
<script type="text/javascript" src="js/bootstrap-transition.js"></script>
<script type="text/javascript" src="js/jquery.jplayer.min.js"></script>

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){

$("#jquery_jplayer_1").jPlayer({
	ready: function () {
		$(this).jPlayer("setMedia", {
			m4a:"audio/teste.m4a",
			mp3:"audio/teste_1.mp3",
			oga:"audio/teste.ogg"
		});
	},
	play: function() { // To avoid both jPlayers playing together.
		$(this).jPlayer("pauseOthers");
	},
	repeat: function(event) { // Override the default jPlayer repeat event handler
		if(event.jPlayer.options.loop) {
			$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
			$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function() {
				$(this).jPlayer("play");
			});
		} else {
			$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
			$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerNext", function() {
				$("#jquery_jplayer_2").jPlayer("play", 0);
			});
		}
	},
	swfPath: "js",
	supplied: "m4a, mp3, oga",
	wmode: "window"
});

$("#jquery_jplayer_2").jPlayer({
	ready: function () {
		$(this).jPlayer("setMedia", {
			m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v",
			ogv: "http://www.jplayer.org/video/ogv/Big_Buck_Bunny_Trailer.ogv",
			webmv: "http://www.jplayer.org/video/webm/Big_Buck_Bunny_Trailer.webm",
			poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png"
		});
	},
	play: function() { // To avoid both jPlayers playing together.
		$(this).jPlayer("pauseOthers");
	},
	repeat: function(event) { // Override the default jPlayer repeat event handler
		if(event.jPlayer.options.loop) {
			$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
			$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function() {
				$(this).jPlayer("play");
			});
		} else {
			$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
			$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerNext", function() {
				$("#jquery_jplayer_1").jPlayer("play", 0);
			});
		}
	},
	swfPath: "js",
	supplied: "webmv, ogv, m4v",
	cssSelectorAncestor: "#jp_container_2",
	size: {
		width: "800px",
		height: "360px",
		cssClass: "jp-video-360p"
	},
	wmode: "window"
});

});
//]]>
</script>
<script type="text/javascript">
var e = document.getElementById("fullscreen");

e.onclick = full;

var full = function(){

if (RunPrefixMethod(document, "FullScreen") || RunPrefixMethod(document, "IsFullScreen")) {
	RunPrefixMethod(document, "CancelFullScreen");
}
else {
	RunPrefixMethod(e, "RequestFullScreen");
}

}

var pfx = ["webkit", "moz", "ms", "o", ""];
function RunPrefixMethod(obj, method) {

var p = 0, m, t;
while (p < pfx.length && !obj[m]) {
	m = method;
	if (pfx[p] == "") {
		m = m.substr(0,1).toLowerCase() + m.substr(1);
	}
	m = pfx[p] + m;
	t = typeof obj[m];
	if (t != "undefined") {
		pfx = [pfx[p]];
		return (t == "function" ? obj[m]() : obj[m]);
	}
	p++;
}

}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo.. mas ai você não chamou a função..

 

coloca aqui, olha:

 

$(document).ready(function(){

       full();//invocando a função


       $("#jquery_jplayer_1").jPlayer({
               ready: function () {

entendeu ?

 

da forma q você postou, você só ta declarando, mas não ta chamando nunca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não funcionou.

 

fiz dessa maneira e nada. Tentei utilizar window.onLoad = full(); e tb não funcionou.

 

O objetivo da função seria carregar a página no modo fullScreen sem aparecer nada de navegador ou area de trabalho. Ela funciona perfeitamene com evento do click. Apenas não estou vendo o pq de não funcionar carregando a pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

O console de erros informa o seguinte:

 

Hora: 18/12/2012 12:13:02

Alerta: A permissão para tela inteira foi negada. Element.mozRequestFullScreen() não foi chamado a partir de um manipulador de curta duração de evento gerado pelo usuário.

Arquivo-fonte: ***

Linha: 343

 

A linha comentada seria da função 'RunPrefixMethod':

 

var pfx = ["webkit", "moz", "ms", "o", ""];
function RunPrefixMethod(obj, method) {

var p = 0, m, t;
while (p < pfx.length && !obj[m]) {
	m = method;
	if (pfx[p] == "") {
		m = m.substr(0,1).toLowerCase() + m.substr(1);
	}
	m = pfx[p] + m;
	t = typeof obj[m];
	if (t != "undefined") {
		pfx = [pfx[p]];
		return (t == "function" ? obj[m]() : obj[m]);  <-- LINHA QUE GEROU O ERRO
	}
	p++;
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. então você não pode chamar automaticamente.. você precisa de permissão do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. então você não pode chamar automaticamente.. você precisa de permissão do usuário.

 

 

beleza entao Bruno. Explicarei para o cliente que somente disparando um evento (ex.: logar-se primeiro) pra carregar em fullscreen.

 

Grato pela atenção.

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.