Jump to content

Simular Click em Página PHP dentro de Iframe


manoelps
Go to solution Solved by nelsonr,

Recommended Posts

Olá a todos!

Tenho um projeto para desenvolver na qual há um iframe na pagina, carregando uma lista de imagens.

Preciso de tempo em tempo (3 minutos) "simular um click" nas imagens uma por uma não precisa ser sequencial.

Exemplo:

Preciso clicar em todas as imagens que o ID tenha parte do nome com: ContentPlaceHolder1_rptSharer.

O ID sempre muda a partir da parte em que eu preciso localizar para dar o click.

<img id="ContentPlaceHolder1_rptSharer1_imageCalendar_1" class="btnClick" src="/Imagens/calendar.png" style="width:24px;" />

<img id="ContentPlaceHolder1_rptSharer2_imageCalendar_2" class="btnClick" src="/Imagens/calendar.png" style="width:24px;" />

Alguém teria algum ideia de como fazer isso? Estive a procurar sobre o assunto de simular click em uma pagina dentro de um iframe e encontrei muitas pessoas com a mesma dúvida....

Edited by brunoais
geshi
Link to comment
Share on other sites

São domínios diferentes ...

Então n dá, esquece. As políticas de segurança não o permitem (AFAIK).

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

  • Solution

Isto sai um bocado do ambito PHP, mas seria algo assim:

Página dentro do iframe

<head>
<script>
	function clicarFoto(obj)
	{
		alert("Foto clicada: "+obj.id);
	}
</script>
</head>
<body>
<img id="ContentPlaceHolder1_rptSharer1_imageCalendar_1" class="btnClick" src="imagens/pap.png" onclick="clicarFoto(this);return(false);"/><br />
<img id="ContentPlaceHolder1_rptSharer1_imageCalendar_2" class="btnClick" src="imagens/pap.png" onclick="clicarFoto(this);return(false);"/><br />
<img id="ContentPlaceHolder1_rptSharer1_imageCalendar_3" class="btnClick" src="imagens/pap.png" onclick="clicarFoto(this);return(false);"/><br />
<img id="ContentPlaceHolder1_rptSharer1_imageCalendar_4" class="btnClick" src="imagens/pap.png" onclick="clicarFoto(this);return(false);"/><br />
</body>

Página pai, usando jquery para facilitar a busca pelas imagens:

<head>
<script src="jquery-2.0.3.js"></script>
<script>
	function clicarFoto()
	{
		var allImages=$("#iframe").contents().find('img[id^="ContentPlaceHolder1_rptSharer1_imageCalendar_"]');

		var picNum = Math.ceil(Math.random()*allImages.length)-1;
		allImages[picNum].click();

		//
		window.setTimeout(function() { clicarFoto();}, 3000);
	}

	$(document).ready(function()
	{
		window.setTimeout(function() { clicarFoto();}, 3000);
	});
</script>
</head>
<body>
<br />
<br />
<iframe id="iframe" src="filho.html" style="width:600px; height:500"> </iframe>
</body>

Testei no firefox, visto o chrome por omissão bloqueia este tipo de comunicação.

(dá para dar a volta, procura por "Access-Control-Allow-Origin")

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.