私は仕事をすることができない機能を持っています。スタックオーバーフロー全体で同じ問題を検索しましたが、解決策が見つかりませんでした...
これは私の index.php のコード スニペットです。news/index.php を含む iframe があります。
<div id="hirek1">
<iframe id="newsframe" src="news/index.php"></iframe>
</div>
<script type="text/javascript" src="mutato.js">milyenmagas();</script>
これが news/index.php です。その内容は php コードで、ニュースの長さに応じて出力の高さが動的に変化します。
<div id="hirekmagassag"><!--content--></div>
<script type="text/javascript" src="mutato.js">milyenmagas();</script>
関数 (mutato.js の):
function milyenmagas()
{
if(document.getElementById('hirekmagassag') != null)
var divmag = document.getElementById('hirekmagassag').offsetHeight;
var framemag = (divmag + 10 + 'px');
if(document.getElementById('hirek1') != null)
var iframe = document.getElementById('hirek1').getElementsByTagName('iframe')[0];
if(document.getElementById('hirek1') != null)
iframe.height = framemag;
if(document.getElementById('hirek1') != null)
iframe.style.height = framemag;
setTimeout('milyenmagas();', 1000);
}
したがって、関数のポイントは、iFrame の高さをコンテンツの高さと同じ (スクロールバーを避けるために +10 ピクセル) に設定することです。上記のように、関数は両方の div の後に呼び出されます。これらは 2 回 (各ファイルで 1 回) 呼び出されるため、if は 2 つの php ファイル間の操作を分類するためのものです。
これは今のところうまくいきません。iframe.heightとiframe.style.heightの値を変数framemagからたとえば「500px」に変更した場合を除いて、完全に機能します。何が間違っているのかわかりません。alert(framemag);と呼んでも スタイルパラメーターとして完全に機能するはずの正しい文字列をスローします。
ここで何が欠けていますか?