今あるホームページに手を加えずに

何らかのプログラムを使ってホームページの上位レイヤに
他のサイトを表示させる方法はあるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/12/04 15:14:10
  • 終了:2007/12/10 11:48:56

回答(2件)

id:minkpa No.1

minkpa回答回数4178ベストアンサー獲得回数552007/12/06 14:20:36

無理です。

それが出来てしまったらあらゆるHPの上位レイヤに表示させられてしまいますよ。

id:lunlumo No.2

lunlumo回答回数107ベストアンサー獲得回数142007/12/06 20:48:25

ポイント70pt

 どういった処理をイメージさているのか分かりませんが,例えばサーバ側で動的にHTMLを書き換えるように工夫してやればできなくは無いです。以下は,Apache+perlで/filteredディレクトリ下を書き換える例です。

・.htaccess

RewriteEngine on
RewriteBase /filtered
RewriteRule ^(.*)$ /cgi-bin/filter.pl/filtered/$1

・フィルタプログラム

#! /usr/bin/perl

package	AddLayerFilter;

use	strict;
use	HTML::Filter;
use	base qw(HTML::Filter);

sub layerUrl {
	my	($self,$url) = @_;
	$self->{url} = $url if (defined($url));
	$self->{url};
}

sub isBody {
	my	($self,$isBody) = @_;
	$self->{isBody} = $isBody if (defined($isBody));
	$self->{isBody};
}

sub start {
	my	$self = shift(@_);
	my	($tag,$attr,$arg,$orig) = @_;
	$self->SUPER::start(@_);
	$self->isBody(1) if ($tag eq 'body');
}

sub output {
	my	$self = shift(@_);
	$self->SUPER::output(@_);
	if ($self->isBody()) {
		my	$url = $self->layerUrl();
		print "<iframe src=\"${url}\" frameborder=\"no\" style=\"position:fixed;_position:absolute;top:10px;left:600px;width:100px;height:400px;border:none\"></iframe>";
		$self->isBody(0);
	}
}


package	main;

use	strict;

my	$filter = new AddLayerFilter();
my	$content = '';
my	$path = $ENV{'DOCUMENT_ROOT'}.$ENV{'PATH_INFO'};

binmode(STDOUT,':encoding(utf8)');
open (FILE,"<:encoding(utf8)",${path}) || die "cannot open file.";
$content .= $_ while (<FILE>);
close(FILE);

$filter->layerUrl("http://other.site.com/layer.html");

print "Content-Type: text/html\r\n";
print "Content-Charset: UTF-8\r\n";
print "\r\n";
$filter->parse($content);

1;

id:Sugipon

ご回答ありがとうございます。

プログラム自体はあまりよくわからないのですが、

出来る人に見てもらおうと思います。

2007/12/07 09:31:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません