自分のホームページを、他の人のホームページからリンク参照されたとき、フレームの中に表示される場合があります。リンク元の状況に依らず、フレームの中ではく、常に、ブラウザ全体に自分のホームページを表示させる方法はないものでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:english No.1

回答回数304ベストアンサー獲得回数0

ポイント40pt

<script type=”text/javascript”>

<!--

if(window.top != window.self){

location.replace(”***.html”);

}

//-->

</script>

というコードを<head>~</head>に挿入しておけば、

他人のフレームの中に表示されることなどはありません。Javascriptにより、元のHTMLページにすぐさま転送されます。


***.htmlの部分は適宜、そのファイル名に書き換えてください。


※全角のダブルクォテーションで表示されている部分があると思いますが、実際には半角です。hatenaのシステムの都合で書き換えられてしまっています。

id:zekoo

ありがとうございます。

2005/05/31 12:13:36
id:typista No.2

回答回数359ベストアンサー獲得回数7

ポイント40pt

http://www.red.oit-net.jp/tatsuya/java/winopen.htm

�C�k�ł��킩��JavaScript�u��

クライアントのJavaScript有効を前提として、

【被リンクとなるHTML】

<script language=”JavaScript”>

window.open(”URL”);

</script>


として、URLに実際に内容を書いておけば、zekooさんの開きたいページを別ウィンドウで表示可能です。

が、この方法のみだと、URLにまた直リンされてしまうと解決しないので、URLを隠す(完全は難しいですが)ためにフレームを使って1クッション入れます。

①index.html

<html>

<title>

zekoo

</title>

<FRAMESET COLS=”*”>

<FRAME SRC=”main.html” NAME=”main”>

</FRAMESET>

</html>


②main.html

<html>

<body>

<script language=”JavaScript”>

if (parent.document.title != ”zekoo”) {

window.open(”zekoo.html”, ”_blank”);

}

</script>

内容

</body>

</html>


上記のポイントは

”_blank”

→新規オープン


if (parent.document.title != ”zekoo”) {

→1クッション入れるフレームのtitleチェック


です。

ただし、JavaScriptでWindowをオープンしようとすると最近ではポップアップブロックになってしまう場合が多いです。


なので、一番良いのは、リンクを張ってくれるサイトに対して、

<a href=”URL” target=”_blank”>

としてもらうことです。

これってリンクするときのマナーなんですけどね(^^;

id:zekoo

ありがとうございます

2005/05/31 12:15:01
id:andi No.3

回答回数448ベストアンサー獲得回数0

ポイント40pt

JavaScriptで対応できます。


<script type=”text/javascript”>

<!--

if(self!=top){

top.location = self.location;

}

//-->

</script>


このスクリプトを<head>~</head>内に入れておくと良いかと。

id:zekoo

ありがとうございます。

2005/05/31 12:15:56

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

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

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

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

回答リクエストを送信したユーザーはいません