9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

同一ドメインのインラインフレームの関数を呼び出す

Posted at

基本的には

JavaScript
document.getElementById( 'iframe_id' ).contentWindow.func();

で呼び出すことができる。

これで呼び出せない場合があり、undefinedが返ってきた。
原因としては、インラインフレームの読み込みが終わる前に関数を呼び出していた模様。

色んな記事を探してもこんなことがあまり起こっていなかったし、どういうときにこうなるかはちょっと不明。ただ、読み込みに時間が掛かってるだけ?

対象法しては、

JavaScript
document.getElementById( 'iframe_id' ).onload = function ()
{
    document.getElementById( 'iframe_id' ).contentWindow.func();
};

として、インラインフレームの読み込みが完了したあとに、関数を呼び出すと無事呼び出すことができました。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?