Como posso redimensionar um swf durante o tempo de execução para que o navegador crie barras de rolagem HTML?
-
09-06-2019 - |
Pergunta
Eu tenho um swf que carrega texto em um Sprite que é redimensionado com base no conteúdo colocado - eu gostaria que aqueles que são mais longos que a página fizessem com que o navegador usasse suas barras de rolagem nativas em vez de lidar com isso em actionscript (muito muito parecido http://www.nike.com/nikeskateboarding/v3/...)
Eu dei uma olhada nas coisas que a Nike fez, mas simplesmente não consegui fazer isso.Alguma ideia?
Solução
Nunca fiz assim, mas acho swffit talvez consiga retirá-lo.
Outras dicas
O truque é usar um JavaScript simples para redimensionar o nó Flash DOM:
function resizeFlash( h ) {
// "flash-node-id" is the ID of the embedded Flash movie
document.getElementById("flash-node-id").style.height = h + "px";
}
Que você chama de dentro do filme Flash assim:
ExternalInterface.call("resizeFlash", 400);
Na verdade, você não precisa ter o código JavaScript externamente, você pode fazer tudo a partir do Flash se quiser:
ExternalInterface.call(
"function( id, h ) { document.getElementById(id).style.height = h + 'px'; }",
ExternalInterface.objectID,
400
);
A função anônima serve apenas para poder passar o ID e a altura como parâmetros, em vez de concatená-los na string JavaScript.
Acho que o JavaScript é bastante multiplataforma.Se você quiser ver um exemplo ao vivo, dê uma olhada neste site: talkoftheweather.com.Pode não parecer que faz alguma coisa, mas redimensiona automaticamente o tamanho do filme Flash para acomodar todos os itens de notícias (faz isso logo após carregar as notícias, o que é feito tão rapidamente que você nem percebe que está acontecendo).O redimensionamento força o navegador a mostrar uma barra de rolagem vertical.
Eu olhei para o swffit pela metade, mas a altura (e a largura às vezes, mas principalmente a altura) seria dinâmica - swffit, vamos declarar um maxHeight, mas esse número estaria mudando constantemente ... talvez eu pudesse descobrir como defini-lo dinamicamente.Um ótimo lugar para começar - obrigado!
O que tenho usado principalmente if é para limitar o quão pequeno você pode fazer um flash "fullbrowser" e, para isso, funciona muito bem.Feliz hacking!
(e não se esqueça de postar suas descobertas aqui, posso precisar disso muito em breve;))