Loading repository data…
Loading repository data…
MatheusCamargoGinebro / repository
Ferramenta visual para testar responsividade de aplicações web em um iframe com controles interativos e console integrado — feita com HTML, CSS e JavaScript puro. 💻📱
O Screen Phone Responsive Tester é uma ferramenta leve e totalmente client-side para testar responsividade de telas dentro de um iframe.
Possui sidebars para Predefinições, Controles e um Console visual integrado, permitindo visualizar logs da aplicação carregada no iframe em tempo real.
Ideal para desenvolvedores que desejam testar diferentes resoluções de forma rápida, sem precisar de extensões de navegador ou simuladores externos.
iframe.iframe se ajusta automaticamente, mantendo o layout responsivo.iframe são capturados via window.postMessage.| Arquivo | Descrição |
|---|---|
index.html | Página principal com o iframe e os painéis laterais. |
style.css | Estilos do layout, variáveis e transições. |
index.js | Lógica da interface: toggles, sliders, presets e captura de console. |
README.md | Este documento. |
[!NOTE]
É necessário servir o projeto por um servidor HTTP local (recomendada a extenção live server do vscode). O iframe está configurado por padrão para http://localhost:8081/. Certifique-se de que sua aplicação esteja rodando nesse endereço para visualizar o conteúdo real, ou altere o endereço configurado diretamente no código HTML.
Para capturar os logs (console.log, warn, error, etc.) da aplicação que o iframe está exibindo, adicione o código abaixo no arquivo raiz da aplicação alvo (ex: main.js, app.js):
if (typeof window !== "undefined" && window.parent) {
["log", "info", "warn", "error", "debug"].forEach((type) => {
const original = console[type].bind(console);
console[type] = function (...args) {
original(...args);
try {
window.parent.postMessage({ type: "console", level: type, args }, "*");
} catch (e) { }
};
});
}
[!IMPORTANT] Esse recurso só funciona quando o iframe e a página pai estão sob o mesmo domínio (same-origin) ou quando o servidor dentro do iframe permite comunicação via postMessage. Caso contrário, apenas os logs da página principal serão exibidos.
Sinta-se à vontade para abrir PRs, relatar bugs ou sugerir melhorias! Toda contribuição é bem-vinda — seja de design, lógica ou documentação.
Este projeto é de uso livre para fins educacionais e de desenvolvimento.
PS: Eu aceito uma estrelinha do git! ⭐