• ベストアンサー

cssの擬似フレームで外部URL表示できますか?

普通のフレームだと、"frame src="などで外部urlを表示できますが、 CSSの擬似フレーム(overflowを使ったもの)だと無理なのではないのでしょうか? 私の認識間違ってますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

なるほど、PHPが使えるならそれでも良いですが、・・大規模なサイトで、クライアントがデーターをあげれば自動的に作成する場合など、私はもっぱらPerlで組みます。なんてったって慣れてるから・・ perlでのアプローチの方法をヒントにしてください。 URLは、http://hoge.com/ だとします。 サーバーで、DIRECTORY INDEX をindex.htmlにします。 そして、index.htmlは、httpd.confか.htaccessでCGIとして動作させます。 ユーザーから要求があると、次のように動作します。 http://hoge.com/ だと、index.htmlがHTMLを吐き出します。 http://hoge.com/abc.html  そのファイルがない場合、abc.htmlはサーバー環境変数PATH_INFOに格納され、index.htmlが起動して、データディレクトリ/http_dats_XPTNR(アクセスできない内緒のディレクトリ)内に、abc.data があれば、それを読み込んで、ページを作成して提供します。  そのファイルがある場合は、それを表示します。 http://hoge.com/efg/abc.html  同様です。  efg/が存在する場合は、あたかもefg/index.htmlが存在するように作成します。 http://hoge.com/hij/klm/  の場合も同様です。  ページの大部分がほとんど同じデザイン--通常---ですから、必要なところ意外書き直さない。  数百ページに及ぶような大規模なサイトの場合、いちいちHTMLを作成していたら大変ですからね。あとはクライアントによって、CSVでデーターをもらうか、XMLでもらうか、それとも他のフォーマットでもらうかを決めます。

kyabe2_0751
質問者

お礼

ありがとうございます。 参考になりました。 ただ、今回 frame src="" の代替方法なので・・・・。 phpのfopenも試しましたが、domainの置換など思ったより面倒なので、 結局、昔の記憶をたどりながらフレームを使うことにしました。 ご協力ありがとうございます。

その他の回答 (3)

回答No.4

>includeって外部のURLを取得して表示できないと思いますが? わからなかったら公式リファレンスを読もう。 http://www.php.net/manual/ja/function.include.php includeでのリモートアクセスについて書かれている。 でfopenでリモートファイルに対して読めるようになっているなら(URL fopenラッパーが有効)な状態だと 同時にincludeでも利用できる様に思えるけどね。 なんで公式リファレンスすら読まずにオウム返しのようにこんな返答するのだろうか? >SSIでも無理ですよね。 あっこれは俺の完全なミスだ。すみませんね。

kyabe2_0751
質問者

お礼

出来ました!http経由でInclude出来るなんて知りませんでした。 ありがとうございます。 ついでにオウム返しで申し訳ないのですが、 <?php include 'http://www.***.com/index.html'; ?> などとすると、index.htmlは表示されるのですが、 たとえば、画像ファイルのPathが <img src="/img/***.gif">などとなっていて これを書き換えてやらないと表示できません。 fopenの場合だと読込んだファイルを置換してechoするってことも出来そうなのですが、 includeでも可能なのでしょうか?

回答No.3

>今回はそのフレーム風表示の中から >phpのfopenでURLを取得して表示できないか検討して見ます。 えっ?何で?includeとか使った方がスマートだよ。 それとperlだとかphpだとかあほらしい。 何でSSIを使わない?これが一番楽で無駄なスクリプト言語を走らせるより負荷が低いでしょうね。

kyabe2_0751
質問者

お礼

ありがとうございます。 includeって外部のURLを取得して表示できないと思いますが? 今回、 www.a.comの中に、www.b.comを表示しないといけないので・・・・。 SSIでも無理ですよね。 結局、frame か iframeしか無理な様子です。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

そうです。  URL欄と異なる内容を表示してしまうframeが忌避されるのも、iframeが「非推奨」(著者は使うべきでない要素)となっているのは、まさにそれが原因なのです。  単純に <div class="article"> </div>  の内容を書き換えたものを異なるURLで提供すればよいです。よく使われるのがPATH_INFOを使ったCGIなどですね。

kyabe2_0751
質問者

お礼

ありがとうございます。 今回はその忌避されるフレームを一部のページで使わないといけないのですが、 いまさらフレームも無いだろうと思い「擬似フレーム」にたどり着いた訳なんです。 でも、「擬似フレーム」と言うよりは、「フレーム風表示」ってな感じですね。 今回はそのフレーム風表示の中から phpのfopenでURLを取得して表示できないか検討して見ます。

関連するQ&A