人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: Sugipon
●カテゴリ:インターネット ウェブ制作
✍キーワード:サイト プログラム ホームページ レイヤ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● minkpa
●0ポイント

無理です。

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


2 ● lunlumo
●70ポイント

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

・.htaccess

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

・フィルタプログラム

#! /usr/bin/perl

packageAddLayerFilter;

usestrict;
useHTML::Filter;
usebase 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);
}
}


packagemain;

usestrict;

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;

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ