質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2108閲覧

iframeで読み込んだHTMLファイルのCSS読み込み遅延を回避するには

arutoi

総合スコア18

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/03 07:35

編集2021/06/04 02:11

####困っていること
静的なサイトをWordpressに移行する作業を行なっています。
フォームのあるHTMLファイルを、iframeで読み込んでおり、iframeの方にCSSファイルでスタイルが効かせているのですが、ページが遷移するたびに表示させたくないものが一瞬、表示された後消えます。

####コード

html

1<iframe class="iframe" src="https://example.com/foo.php"></iframe> 2<script> 3 (function($) { 4 $('.iframe').on('load', function() { 5 $('.iframe').contents().find('head').append('<link rel="stylesheet" href="https://example.com/wp/wp-content/themes/themeName/iframe.css" type="text/css" />'); 6 }); 7 })(jQuery); 8</script>

css

1#header, #headCont, #footer, .bread, #intro2 { 2 display: none; 3}

####試したこと
iframeに以下の属性を追加する

  • loading="lazy" 読み込みの遅延をさせる
  • loading="eager" すぐにコンテンツを読み込む
  • loading="auto" ブラウザが遅延読み込みさせるかを判断する

どちらも、期待した動作になりませんでした。

画面がちらつくので、最初から表示無しにさせたいのですが、どうしたら良いでしょうか。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/06/03 07:40

hoge.comのドメイン所有者でないなら例示ドメインを利用してください
Lhankor_Mhy

2021/06/03 08:31

foo.php に直書きしてしまった方がいいのでは。
arutoi

2021/06/03 09:55

例示ドメインというものを初めて聞きました。example.com等を使うようにします!ありがとうございます。
arutoi

2021/06/03 09:56

foo.phpに直書きというのも手ですね。ありがとうございます!
guest

回答1

0

ベストアンサー

iframe内の文書に後からスタイルシートを挿入している以上、ちらつきを完全になくすのは不可能だと思います。

foo.phpが、親フレームに依存して動作を変える必要があるなら、<iframe src=".../foo.php?hide=header"> のようにパラメータを付けてfoo.php内でパラメータを見てスタイルシートを追加してはどうでしょうか。

投稿2021/06/03 09:26

int32_t

総合スコア21695

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

arutoi

2021/06/04 02:13

確かにちらつきを完全に無くすのは、無理そうな気がしてきました。パラメータで処理を分ける方法は、使えそうです。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問