
お世話になります。
A.htmlとB.htmlがあり、B.htmlにあるXボタンを押すと、A.htmlにページ遷移して、
javascriptが発動するというものを作ろうと思っております。
A.htmlを直接開いた状態では何も起こらずに、B.htmlのXボタンを押してページ遷移した場合のみ発動するというものですが、こういった動きは可能なのでしょうか?
色々調べたら、forward(page, obj) を使うと初期データを指定してページ移動することができるということがわかったのですが、この方法でできるのか、またできるとすれば、どのように記述すれば良いか教えていただけると幸いです。
どうぞよろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
==================A.html==================
<script type="text/javascript">
(function(){
var pmtURL = "http://www.*****.jp/about.html";
if(document.referrer != pmtURL) return; // !location.searchの条件を削除
var s = location.search.substring(1);
if(s == "") action1(); /* sが空のときはaction1が発動 */
if(s == "news") action2(); /* sがnewsのときはaction2が発動 */
})();
document.write (location.search);
</script>
私の以前の回答では、?○○がなかったら何も関数を実行しないものと思っていたので、
少しでも負担を軽減するために、条件に!location.searchを入れていました。
?がないときにも関数を実行したいのなら、その条件を取ってください。
kura07さま
回答ありがとうございます!
できました!すごいです!
少しだけ手を加えて下記のようになりました。
if(s == "") {
action1-1();
action1-2();
}
if(s == "news") {
action2-1();
action2-2();
setTimeout(function() {
$( action3() )
}, 2000 );
}
ありがとうございました m( _ _ )m

No.2
- 回答日時:
一番簡素な方法は、アドレスに"?"を付加する方法。
==================A.html==================
<script type="text/javascript">
(function(){
var pmtURL = "http://なんちゃら.jp/"; //許可するURL
if(document.referrer != pmtURL || !location.search) return;
var s = location.search.substring(1);
/* ?の後の文字によって、実行する関数を分岐 */
if(s == "aaa") aaa();
if(s == "bbb") bbb();
})();
</script>
==================B.html==================
<a href="A.html?aaa">Aへ移動1</a><br>
<a href="A.html?bbb">Aへ移動2</a>
<a href="A.html?bbb">のように、アドレスの後に?を付加するとlocation.searchで取得できます。
ただし、お気に入りに追加したりするときも?○○は残ったりするので、そうしないためにはさらに工夫が必要かも。
kura07さま
回答ありがとうございます。
回答に習い、下記のように記述したのですが、動かないので、どこが悪いかご指摘いただけないでしょうか。
==================A.html==================
<script type="text/javascript">
(function(){
var pmtURL = "http://www.*****.jp/about.html";
if(document.referrer != pmtURL || !location.search) return;
var s = location.search.substring(1);
if(s == "") action1(); /* sが空のときはaction1が発動 */
if(s == "news") action2(); /* sがnewsのときはaction2が発動 */
})();
document.write (location.search);
</script>
==================B.html==================
<a href="A.html">Xボタン</a><br>
<a href="A.html?news">Yボタン</a>
どうぞよろしくお願いいたします。
No.1
- 回答日時:
一番単純なのは、referrerを参照する方法では?
スクリプトをオフにしてたりすると、当然判別はできないけど、どのみち目的のスクリプトも動かないから同じことか…
http://javascriptist.net/ref/document.referrer.h …
回答ありがとうございます。
上記サイトを参考に動きを再現することができました!
ありがとうございます!
ひとつ追加でお聞きしたいのですが、B.html内にもうひとつYボタンを追加して、
このボタンを押すとA.htmlに遷移して、Xボタンを押したときとは異なるアクションを発動させたいのですが、現状だと、同じURLから飛んでくるため、同じ処理が起こってしまいます。
Xボタンを下記のようにして#を付けて判別できるかなと思ったんですが、ダメでした。。。
<a href="#" onclick="javascript:location.href='A.html'">
もし何か方法がありましたら教えてください。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iframe内をリロードできますか?
-
JavaScriptを有効にする文言を...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
JavaScriptからVBScriptの呼び...
-
javascriptからウィンドウを開...
-
ボタンのID名を取得するには?
-
JavaScriptでiframeの内容を「...
-
ウインドウの後ろに隠れている...
-
html メールリンクにて自動ファ...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
JavaScriptが有効ならA、無効ならB
-
別ファイルのfunctionの読み込み方
-
htmlファイルを開いた時の画面...
-
¥マークの検索について
-
マウスクリックした地点のテキ...
-
UAによるリダイレクト
-
スマホ上で、左右スワイプで次...
-
初心者です。あまりに初歩的な...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
onLoadをbodyタグ以外で使用する
-
JavaScriptを有効にする文言を...
-
楽天商品検索APIをjavascriptで...
-
「jQuery」アニメーションをル...
-
特定のページから移動してきた...
-
【javascript クロスブラウザ...
-
セキュリティ保護の警告が出な...
-
Event.observe について教えて...
-
ブラウザをJavaScriptで最小化…
-
変数の代入値を外部の.txtファ...
-
javascriptにてonclickを無効
-
外部ファイルの記述の問題なの...
-
javascript 初心者です 引数...
-
Javascriptでブラウザ振り分け。
-
ウィンドを開いたとき位置を指...
-
ホームページのソースを復号し...
-
iframe内をリロードできますか?
-
季節毎に自動的に変化するホー...
-
画像ファイルのアドレスに今日...
おすすめ情報