0

iframe が点滅しないようにするために、setTimeout 内で可視性を設定しています (CSS は可視性:hidden に設定されています)。

setTimeout(function(){  
$n('#myFrame').css('visibility','visible');}, 750);

うまく機能しますが、フレーム内に後続の場所をロードすると、可視性が既に設定されているため、点滅動作が戻ります。

私がやりたいことは、DOM/ページがロードされる前にiframeをターゲットにして、可視性を再び非表示に設定してからsetTimeoutにする関数を作成することです。

このスクリプトは ServiceNow プラットフォームで実行されることに注意してください。つまり、一部のオプションが制限されています (ドキュメント ヘッドに読み込めないなど)。

これは逆の document.ready() のようなものです。これは可能ですか?

リードをありがとう、

パコ

4

3 に答える 3

1

ソースに設定するだけです:

<iframe style="display: none;"></iframe>

その後、必要に応じて非表示にします。

于 2014-01-07T19:44:44.150 に答える
1
$('buttonToChangeTheIframePage').click(function(e){
    e.preventDefault();

      $('#myFrame').css('visibility','hidden'); 
      $('#myFrame').delay(1000).css('visibility','visible');
});

これは、iframe の外側から場所をロードしていることを前提としています。iframe 内のすべてのもの (リンクなど) は、引き続きこの動作をトリガーします。

編集

これは実際にはより優れており、すべての状況で機能すると思います(テストされていないため、愚かなエラーがないことを確認してください)

<iframe id="myFrame" src="http://www.google.com/" onLoad="hideUnhide();"></iframe>

function hideUnhide(){
    $('#myFrame').css('visibility','hidden').delay(1000).css('visibility','visible');

}
于 2014-01-07T19:50:06.270 に答える
0

addAfterPageLoadedEvent(func)で使用js_include_doc_type.js

<iframe id="gsft_main" style="visibility: hidden;">

anything ....

<script>
 addAfterPageLoadedEvent(function() {
    $j('#gsft_main').css('visibility','visible');
 });
</script>

</iframe>
于 2016-06-23T07:42:21.583 に答える