お世話になります。
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で質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- HTML・CSS htmlで画面遷移させたい 1 2022/10/28 18:19
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- SEO googleサーチコンソールでの重複ページ(ダブルスラッシュ) 3 2023/06/12 15:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
【javascript クロスブラウザ...
-
onLoadをbodyタグ以外で使用する
-
指定の年月日時にcssを自動で切...
-
変数の代入値を外部の.txtファ...
-
IE7におけるonresizeイベントハ...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
bodyにidをつける理由は何ですか?
-
base64encodeでの文字化けについて
-
window.openの後にエンコードを...
-
JavaScriptでiframeの内容を「...
-
getElementsByNameで要素が取得...
-
複数のページ(html)のvalueを...
-
【SSI】include file、include ...
-
document.getElementById
-
SCRIPT5007: 未定義または NULL...
-
Dreamweaver で 外部JSを読み込...
-
スマホ上で、左右スワイプで次...
-
マウスクリックした地点のテキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
変数の代入値を外部の.txtファ...
-
onLoadをbodyタグ以外で使用する
-
特定のページから移動してきた...
-
ウィンドを開いたとき位置を指...
-
javascriptにてonclickを無効
-
画像ファイルのアドレスに今日...
-
「jQuery」アニメーションをル...
-
指定の年月日時にcssを自動で切...
-
iframe内をリロードできますか?
-
セキュリティ保護の警告が出な...
-
【javascript クロスブラウザ...
-
ブラウザーのバージョンによる...
-
javascriptでページ内の一部分...
-
Future Shop2というショッピン...
-
日替わりメッセージの表示
-
jqueryでtoggleを無制限に繰り...
-
JavaScript で指定した月日に別...
-
Refreshの回数
-
DOCTYPE宣言とdocument.body.cl...
おすすめ情報