実行時に swf のサイズを変更して、ブラウザーに html スクロールバーを作成させるにはどうすればよいですか?
-
09-06-2019 - |
質問
入力されたコンテンツに基づいてサイズが変更されるスプライトにテキストをロードするSWFがあります。ただし、ページより長いものについては、ブラウザーがアクションスクリプトで処理するのではなく、ネイティブのスクロールバーを使用するようにしたいのですが(非常にとても似ています http://www.nike.com/nikeskateboarding/v3/...)
ナイキがやっているものを見てみたんですが、うまくいきませんでした。何か案は?
解決
そんなことしたことないけど、そう思う スイフィット それをやり遂げることができるかもしれない。
他のヒント
秘訣は、単純な JavaScript を使用して 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";
}
Flash ムービー内から次のように呼び出します。
ExternalInterface.call("resizeFlash", 400);
実際には JavaScript コードを外部に持つ必要はなく、次のことをしたい場合はすべて Flash から行うことができます。
ExternalInterface.call(
"function( id, h ) { document.getElementById(id).style.height = h + 'px'; }",
ExternalInterface.objectID,
400
);
匿名関数は、ID と高さを JavaScript 文字列に連結するのではなく、パラメータとして渡すことができるようにするだけです。
JavaScript はかなりクロスプラットフォームだと思います。実際の例を見たい場合は、このサイトをご覧ください。 talkoftheweather.com. 。何も実行していないように見えるかもしれませんが、すべてのニュース項目が収まるように Flash ムービーのサイズが自動的に変更されます (ニュースのロード直後にこれが行われますが、非常に迅速に行われるため、起こっていることに気付かないほどです)。サイズを変更すると、ブラウザに垂直スクロール バーが強制的に表示されます。
swffit を途中まで見ましたが、高さ(幅も時々ありますが、主に高さ)は動的になります。swffit では maxHeight を宣言できますが、その数値は常に変化します...動的に設定する方法を理解できるかもしれません。でも、私にとっては素晴らしい出発点です - ありがとう!
私が主に使用しているのは、「フルブラウザ」フラッシュをどれだけ小さくできるかを制限することであり、そのためにはうまく機能します。ハッピーハッキング!
(そして、発見したことをここに投稿することを忘れないでください。すぐに必要になるかもしれません ;))