1

レスポンシブ Web テンプレートを表示するデモ ページを作成しました... デモ ページには、サイズの異なる 3 つの iFrame があります (コンピューター ビュー、タブレット ビュー、およびスマートフォン ビュー用)...

問題は、デモ ページを開くと、レスポンシブ テンプレートが (iframe ごとに) 3 回読み込まれることです...これが発生するのは望ましくありません... テンプレート ページは 1 回だけ読み込まれ、表示されるはずです。すべてのiframeがあります...

これを達成する方法がわかりません...誰か助けてください...

これがサンプルデモページです...

http://responsivewebinc.com/demo/?url=http://responsivewebinc.com/templates/responsivewebinc

これがiframeコーディングです...

<iframe id="pc" width="98%" src="http://responsivewebinc.com/templates/responsivewebinc" ></iframe>

<iframe id="tablet" width="60%" src="http://responsivewebinc.com/templates/responsivewebinc" ></iframe>

<iframe id="mobile" width="30%" src="http://responsivewebinc.com/templates/responsivewebinc" ></iframe>
4

2 に答える 2

0

いくつかのJavaScriptが必要です:

<iframe id="pc" width="98%" src="http://responsivewebinc.com/templates/responsivewebinc"
    onload="document.getElementById('tablet').src=document.getElementById('mobile').src=this.src;">
</iframe>
<iframe id="tablet" width="60%"></iframe>
<iframe id="mobile" width="30%"></iframe>​​​​​​​​​​​​​​​

2 つの他の ('table'および'mobile') コンテンツは、ブラウザの から読み込まれcacheます。

重要な注意:リソースが完全にロードされない限り、ブラウザのに保存されませんcache

于 2012-07-14T13:26:25.417 に答える
-1

提案された両方のソリューションは機能しません。実際、javascriptスクリプトは、最初のページがロードされるのを待ってから、2番目のページのsrcを設定します。これにより、2 番目のページが読み込まれます。3 つ目も同じですが、ページは iframe ごとに 1 回読み込まれます。

読み込みに数秒かかる URL に変更するだけで表示されます。

唯一の解決策は、ソース URL の html を解析してから、iframe のコンテンツをこのソースに設定することですが、これが可能かどうかはわかりません。

main.php のようなものを試してみてください:

<?php
    $url = 'http://responsivewebinc.com/templates/responsivewebinc/';
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($ch);
    curl_close($ch);
    $fp = fopen('data.txt', 'w+');
    fwrite($fp, $result);
?>
<iframe id="pc" width="98%" src="open.php" ></iframe>
<iframe id="tablet" width="60%" src="open.php" ></iframe>
<iframe id="mobile" width="30%" src="open.php" ></iframe>

そしてopen.php:

<?php
    $filename = 'data.txt';
    $fp = fopen($filename, 'r');
    $data = fread($fp, filesize($filename));
    echo $data;
?>

これにより、ページが 3 回読み込まれるのを回避できますが、これが適切なスクリプトであるかどうかはわかりません (また、css ファイルと画像ファイルに非相対 URL を使用する必要があります...

于 2012-07-14T14:35:52.553 に答える