どれか一つ、(可能なのがあれば、)やり方を教えてください。

★特定ページからのリンクからでないとページを表示しない方法。
★特定ページからのリンクからでないと動かないようなスクリプト。
★urlをアドレスの所に入れて移動した場合、ページの表示を拒否する方法。
★リンク元に設置して、移動後(リンク後)に動くスクリプト。

ちなみに、CGIは使えません。
出来るだけ、具体的に教えていただけると有り難いです。

A 回答 (2件)

こんなレベルで良いですか?



リンク元(no-open1.html)
<Html>
<Head>
<Title>no-open1</Title>
<Script Language="JavaScript">
<!--
function openWin() {window.open('','nextPage');}
//-->
</Script>
</Head>
<Body>
<a href="no-open2.html" target="nextPage" onClick="openWin();">次</a>
</Body>
</Html>

リンク先(no-open2.html)
<Html>
<Head>
<Title>no-open2</Title>
<Script Language="JavaScript">
<!--
if(opener) {
if(window.opener.location.href!="http://*********/no-open1.html")
this.location.href="no-open1.html";
} else {
this.location.href="no-open1.html";
}
//-->
</Script>
</Head>
<Body>
page2
</Body>
</Html>

JavaScriptが無効になっている場合はフレームで回避してね。
    • good
    • 0

nyonta さん、こんにちわ。



そうですね、困りましたね。
CGIが使えないとなると、JavaScriptによる方法となりますが、
JavaScriptを切られてしまうと無効となります。
しかし、それでも「一種の抑制効果」として、、、ということであれば、
下記のようなJavaScriptが有効でしょう。


<script language="javascript"><!--
str=document.referrer;
if (str.match(/www.goo.ne.jp\/index.html/)) {
} else {
document.write("<noembed>");
}
-->
</script>


という感じです。上記の場合ですと、www.goo.ne.jp/index.html から飛んできた場合だけページが表示されるようになります。ここは適宜リンク元のページに合わせて替えてください。
その際は、www.goo.ne.jp\/index.html というように「/」の前に「\」があることに気をつけてください。

以上、ご参考になりましたら。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qカウントダウン後にページ移動するスクリプト

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1161570076

ここを参考に作ってみているのですが、
何度やってもカウントダウンが表示されません。



●以下抜粋
・・・(※文字数制限オーバーになるため省略。この間は[補足]のURLにあるHTML
のソースに埋め込まれているJavascriptと全く同じです。コピペして下さい)・・・

補足のURL:http://countdown.reportitle.com/



これはどのJavascriptを指しているのでしょうか?


単純に

function display(){
today = new Date();
myMsec= millenium.getTime()-today.getTime();
time0 = Math.floor(myMsec/(1000*60*60*24));
myMsec -= (time0*(1000*60*60*24));
time1 = Math.floor(myMsec/(1000*60*60));
myMsec -= (time1*(1000*60*60));
time2 = Math.floor(myMsec/(1000*60));
myMsec -= (time2*(1000*60));
time3 = Math.floor(myMsec/1000);
myMsec -= (time3*(1000));
time4 = Math.floor(myMsec/10);
var time_0 = time0;
if(convert==1){
time1 = time0*24+time1;
time_0 = "";
cnt1 = "";
}else if(convert==2){
time2 = (time0*24+time1)*60+time2;
time_0 = time1 = "";
cnt1 = cnt2 = "";
}else if(convert==3){
time3 = ((time0*24+time1)*60+time2)*60+time3;
time_0 = time1 = time2 = "";
cnt1 = cnt2 = cnt3 = "";
}

if(centi==2){
time1 = time2 = time3 = time4 = "";
cnt2 = cnt3 = cnt4 = "";
}else if(centi==3){
time2 = time3 = time4 = "";
cnt3 = cnt4 = "";
}else if(centi==4){
time3 = time4 = "";
cnt4 = "";
}else if(centi==5 || !centi){
time4 = "";
}

time1 = convertNum(time1,2);
time2 = convertNum(time2,2);
time3 = convertNum(time3,2);
time4 = convertNum(time4,2);
myMsec= today.getTime()-millenium.getTime();
time00 = Math.floor(myMsec/(1000*60*60*24));
myMsec -= (time00*(1000*60*60*24));
time01 = Math.floor(myMsec/(1000*60*60));
myMsec -= (time01*(1000*60*60));
time02 = Math.floor(myMsec/(1000*60));
myMsec -= (time02*(1000*60));
time03 = Math.floor(myMsec/1000);
myMsec -= (time03*(1000));
time04 = Math.floor(myMsec/10);
if(convert==1){
time01 = time00*24-time01;
time00 = "";
}else if(convert==2){
time02 = (time00*24+time01)*60+time02;
time00 = time01 = "";
}else if(convert==3){
time03 = ((time00*24+time01)*60+time02)*60+time03;
time00 = time01 = time02 = "";
}

if(centi==2){
time01 = time02 = time03 = time04 = "";
}else if(centi==3){
time02 = time03 = time04 = "";
}else if(centi==4){
time03 = time04 = "";
}else if(centi==5 || !centi){
time04 = "";
}
time01 = convertNum(time01,2);
time02 = convertNum(time02,2);
time03 = convertNum(time03,2);
time04 = convertNum(time04,2);


までを追加してみましたが、動かないので、
リンクのJSを追加してみたりしましたが、だめでした。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1161570076

ここを参考に作ってみているのですが、
何度やってもカウントダウンが表示されません。



●以下抜粋
・・・(※文字数制限オーバーになるため省略。この間は[補足]のURLにあるHTML
のソースに埋め込まれているJavascriptと全く同じです。コピペして下さい)・・・

補足のURL:http://countdown.reportitle.com/



これはどのJavascriptを指しているのでしょうか?


単純に

function display(){
today = new Date();
myMsec= millenium....続きを読む

Aベストアンサー

私が作ったもので良ければどうぞ。

●js
http://code.google.com/p/newblue/source/browse/Count_down.js
●css
http://code.google.com/p/newblue/source/browse/Count_down.css

●html+js+css
http://code.google.com/p/newblue/source/browse/Count_down.html

QWEBページ内のリンクを削除するスクリプト

プログラミング初心者です。

ウィキペディアのようなWEBページ内のテキストの文字列にリンクが貼ら
れているページのリンクを全て無効にしたいと思っています。
実装はFirefoxのアドオンのgreasemonkeyで行いたいと思っているのですが、
可能でしょうか?

ページ内のリンクタグ <a href=" ~ ">文字列</a> を削除することは
可能でしょうか?

できれば、上記のことを実現する方法やソースのコードを紹介して頂きたく
思います。

Aベストアンサー

ためしてないけど、うごくかな?
var a = document.getElementsByTagName('A');
while (a[0]) a[0].parentNode.removeChild(a[0]);

Q「インラインフレームにリンク」と「ページトップへのリンク」の2つのリンク要素をもたしたいのですが…

ページの上部に、インラインフレームでバックナンバーを表示させているページを作っています。そのページをずっとスクロールした下の方で、そのバックナンバーをインラインフレーム内で表示するリンクをはったのですが…問題が。。
インラインフレーム内はちゃんと、リンクしたページにジャンプしているのですが、リンクを張ったところがページの下の方なので、自分でページの上部に移動しなくてはかわったかどうか気づけないんです。。

インラインフレームへのターゲット指定でのリンクとページトップへの移動、、この二つを一緒にできないでしょうか?

Aベストアンサー

>>ANo.2の
>くっつければいいとおもうよ

><a hrref="1" a hrref="2">
じゃなく「<a href="00.html#top">」のように。


>javascriptのtop移動を置いてみたら、なぜか別ウインドウでインラインフレームに入れる要素のhtmlが開いたり、、。インラインフレームにリンクしてるとjavascriptのclass指定は効かないんですかね?

は、どんな処理を入れているのか不明の為、詳細はわかりませんが、JavaScriptでclass指定は効きますよ。
たぶん、JavaScriptが正しくないかと。

QHTML ページ内のリンクURLに特定の文字を足す

現状として<div id="kitou">~</div>をPHPで別サイトからニュース欄抜き出して表示しています。

ニュース欄のデータ抜き出し元が相対参照でURLが記述されている為、リンクをクリックすると

 自分のサイトドメイン+/news/6548s.html

となってしまいます。

ジャバスクリプトで○○○に当たる箇所にデータ抜き出し元サイトのドメインを入れたいのですが

上手に出来ません。

例:<a href="○○○/news/6548s.html">

現在HPに書いてる内容は下記の通りです。

<div id="kitou">
   <ul id="news">
<li>
<a href="/news/6548s.html">ニュースを見るにはクリック</a>
</li>
</ul>
</div>

何方かお力添えをお願いいたします。

Aベストアンサー

これでどうでしょう?
あまりテストしてないですが。
firefoxではうごいているっぽいです。
-------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>無題ドキュメント</title>
</head>
<body>

<div id="kitou">
<ul id="news">
<li><a href="/news/6548s.html">ニュースを見るにはクリック</a></li>
</ul>
</div>

<script type="text/javascript">

replaceHrefFunc();

function replaceHrefFunc()
{
var a = document.getElementById('news').getElementsByTagName('a');

var i = 0;
var output;

for( i = 0; i < a.length; i++ )
{
a[i].href = a[i].href.replace( document.domain, 'www.example.jp' );
}
}

</script>
</body>
</html>
-------------------------------------------------------------

これでどうでしょう?
あまりテストしてないですが。
firefoxではうごいているっぽいです。
-------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>無題ドキュメント</title>
</head>
<body>

<div id="kitou">
<ul id="news">
<li><a href="/news/6548s.html">ニュースを見るにはクリック</a></li>
</ul>
</div>

<script type="text/javascript">

replaceHrefFunc();

function replaceHrefFunc()
{
var a = document.getElementById('...続きを読む

Qフレームリンク内にリンク先のページが表示されてしまいます

フレームリンクを使うと外部のページを表示できるのですが、
表示してから外部ページをクリックしても、
フレームリンク内にリンク先のページが表示されてしまいます。
(アドレスはフレームリンクページのURL)

クリックした際に、実際のリンク先のページが表示することは可能でしょうか?
Javascriptを使用してもOKです。


よろしくお願いします。

Aベストアンサー

一旦フレームの中に外部サイトを表示してから、
外部サイト内のリンクをクリックされてるんですよね。
そりゃあフレーム内に表示されたままになりますよ。
外部サイトの作者は、そんなフレームの中に
表示されるつもりで作っていませんから。

ていうか、外部サイトを自分のフレーム内に表示するのは
あんまり気持ちいいもんじゃないですよ。
外部サイトの作者としてはね。

というか、フレームを使っている質問者さんのサイトで
外部サイトへのリンクを貼っているのだが、
ぷちっとやると、外部サイトがフレーム内に表示されてしまって
困っているんです!! ということでしょうか。

だとしたら、リンクをクリックしたときに
新しいウィンドウを開くように、<a>タグを書けばよいのです。
<a href="http://oshiete1.goo.ne.jp/">
って普通は書くでしょう。
それを、
<a href="http://oshiete1.goo.ne.jp/" target="_blank">
と書くんです。


人気Q&Aランキング

おすすめ情報