A API Postmessage é usada para enviar informações adicionais à sua página em que nossas provas estão incorporadas.
Documentação da API de mensagens POST
A API Postmessage enviará uma mensagem para a página em que sua prova está incorporada, que terá uma aparência semelhante a esta:
{
status: 'ranking',
ranking: {
score: 50, // Número, a nota da prova. 100 significa 100% de acertos, 0 significa 0% de acertos
respondidas: 2, // Número, o número de questões respondidas nesta sessão
corretas: 1, // Número, a quantidade de questões respondidas (parcialmente) corretas
incorretas: 1, // Número, a quantidade de questões respondidas incorretamente
pontos: 2, // Número, a quantidade de pontos obtidos nesta sessão
máximo: 4, // Número, a pontuação máxima possível para esta sessão
categoria: {
título: 'Reprovado' // String,
}
}
}
Para sua conveniência, adicionamos abaixo um exemplo de código JavaScript que você pode usar em sua página de incorporação. Ele utiliza a biblioteca jQuery, mas esse requisito pode ser facilmente removido, se necessário.
<script type="text/javascript>
// Exemplo de implementação de eventos. Usando jQuery v1.7 ou superior
// Deve funcionar nos seguintes navegadores: [http://caniuse.com/#feat=x-doc-messaging](http://caniuse.com/#feat=x-doc-messaging)
jQuery(window).on("message onmessage", function(event) {
var origin = event.originalEvent.origin;
var allowedDomains = [
'[https://www.onlinequizcreator.com]([https://www.onlinequizcreator.com/](https://www.onlinequizcreator.com/))',
'[https://www.onlineassessmenttool.com]([https://www.onlineassessmenttool.com/](https://www.onlineassessmenttool.com/))',
'[https://www.onlineexambuilder.com]([https://www.onlineexambuilder.com/](https://www.onlineexambuilder.com/))',
'[https://www.easy-lms.com]([https://www.easy-lms.com/pt/404/))'
];
try {
var data = (typeof event.originalEvent.data === "string") ? JSON.parse(event.originalEvent.data) || event.originalEvent.data;
}
catch (e) {
return;
}
if (allowedDomains.indexOf(origin) !== -1 && data.status && data.ranking) {
// Seu script personalizado....
// As seguintes variáveis estão disponíveis
data.ranking.score; // A nota (em %) para esta prova. Por exemplo: 100 se todas as respostas estiverem corretas e 0 se todas estiverem erradas
data.ranking.answered; // O número total de questões respondidas
data.ranking.correct; // Número de questões respondidas corretamente
data.ranking.incorrect; // Número de questões respondidas incorretamente
data.ranking.points; // A pontuação que o participante obteve nesta sessão
data.ranking.maximum; // A pontuação máxima possível para esta prova
data.ranking.category.title; // O nome da categoria na qual o participante se enquadra. Provavelmente será “Aprovado” ou “Reprovado”
}
});
</script>
