WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:他のサイト内の指定した箇所やテーブルのみを表示させる

0:[投稿] zippo [2005/01/12 12:49 ][環境:IE5,MAC OS9 わからない]

はじめまして。

Aのサイト内で、Bのサイトの情報を表示させたいのですが、
Bのサイト内の指定した箇所やテーブル(ナビゲーションやヘッダフッタを除いた部分)のみを
表示させることは可能でしょうか?
インラインフレームのような、BのURLをAのサイトで表示させることは出来るのですが。

ちなみにBのサイトはフレームを使用していないサイトです。


1:[回答] andi [2005/01/12 13:48 ]

他人のサイトの情報を勝手に自分のサイトの一部に使用しようとしている・・・訳じゃないですよね?


2:[回答] コトノハ [2005/01/12 14:00 ]

表示したい部分を抜き出してBサイトでも iframe にしておけば、
Aサイトからでも同様の扱いが出来るのではないでしょうか。


3:[回答] zippo [2005/01/12 14:25 ]

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

当然悪用ではありません〜。
情報を効率良く共有させる為なのです。

Bサイトではフレームを使用することが出来ませんので、
インラインフレームを使用しない方法で何がありませんでしょうか?


4:[回答] EUR [2005/01/12 16:31 ]

AサイトとBサイトが親子関係などではなく、完全に独立していると、データのやり取りはできないと思います。
CGIなどを使って、フォームのデータを渡すことはできると思いますが。

そこで苦肉の策ですが、Bサイトの表示したい部分にアンカーを打ってAサイトからそのアンカーにリンクを飛ばすというのはどうでしょう?

[Bサイト側]
<a name=\"siteB\">
Bサイトの表示したい部分の先頭

Bサイトの表示したい部分終わり
</a>

[Aサイト側]
インラインフレームのURL指定に
location.href="http://siteB'sURL#siteB"


5:[回答] コトノハ [2005/01/13 09:06 ]

Bサイトでは普通に表示されているページをAサイトでも同様に呼び出す。
但し、Aサイト側ではページの余計な部分を非表示に切り替えるスクリプトを走らせる。

では、如何でしょうか。


6:[回答] zippo [2005/01/13 18:10 ]

zippoです。

返信が遅くなりました。

皆様、ご丁寧な対応ありがとうございます。

>EUR様
ありがとうございます。
インラインフレームにアンカーを加えるということですね。
しかし、Bサイトの左側にナビゲーションエリア等があり、
やはりインラインフレームですと不都合が生じてしまうのです。

>コトノハ様
ありがとうございます。
BサイトのデータをAサイトに呼び出すというのは
具体的にどういう方法でしょうか。
かなり理想的な結果が得られそうですが、
Javaのみで可能なものなんでしょうか。
何分にも非表示スクリプトの経験が無いもので(汗)


7:[回答] EUR [2005/01/13 18:58 ]

zippo様はJAVAをお使いですか?
でしたら、URLコネクトをして、データを取得するというのはどうでしょう?

[AサイトJavascript]
var source = "";
function HYOJI(txt) {
source = source + txt;
}
function HYOJI2(txt) {
document.all.表示させたいところ.innerHTML = txt;
}

[AサイトJava applet]
url = new URL(getDocumentBase(), "siteB's URL");
urlConnect = url.openConnection();
inputstream = urlConn.getInputStream();
buf = new BufferedReader(new InputStreamReader(in));
String s;
int flag = 0;
JSObject win = JSObject.getWindow(this);
 if (s.equals("表示させたい最初の部分")) {
   flag = 1;
 }
 while ((s = buf.readLine()) != null) {
 string [] txt = new String[] {s};
 try {
   if (flag == 1) {
     win.call("HYOJI", txt);
   }
 } catch (JSException eJS) {
   eJS.printStackTrace();
 }
 try {
   win.call("HYOJI2", txt);
 } catch (JSException eJS) {
   eJS.printStackTrace();
 }
}


8:[回答] EUR [2005/01/13 18:59 ]

おっと、申し訳ありません。ミスがありました。

function HYOJI2(txt) {
document.all.表示させたいところ.innerHTML = txt;
}

function HYOJI2(txt) {
document.all.表示させたいところ.innerHTML = source;
}
が正解です。


9:[回答] AC1号 [2005/01/13 22:41 ]

PHPだと
$handle = fopen ("http://www.example.com/", "r");
みたいな形で取得できます。

また、CGI-perlでもLWP::Simpleモジュールを使えば容易に他サイトの内容を取得できます。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World