
a.htmには以下のようなJavaScriptが記載されています。
<a href="javascript:c_click(1)">test</a>
a.htmの中にはclick内の数字が1~50程度のリンクがあり、
数字に応じて異なるJavaScriptが実行されるページです。
b.htmからa.htmの上記の<a href="javascript:c_click(1)">test</a>が実行されるリンクを作ることは可能なのでしょうか。
たとえば、b.htmに以下のようなHTMLを記述することを想定しています。
<a href="a.htmのjavascript:c_click(1)">test</a>
No.3ベストアンサー
- 回答日時:
要件が以下の通りとします。
1. b.htm のリンクを押す
2. 遷移先または子画面として a.htm が開く
3. b.htm から渡された引数をもとに、関数 c_click が実行される
4. これ以降で、両者のやり取りは無い
この場合なら、a.htm の URL に引数を付けて実行が一番簡単です。
ブラウザによるキャッシュが利くので、即応性を求めないならこれが一番でしょう。
/* --- b.htm --- */
<a href="a.htm?q=1">画面遷移で開く</a>
<a href="a.htm?q=1" name=nameA>新しいタブで開く</a>
/* --- a.htm --- */
<script>(function(){
var s = window.location.search;
if (s && s.length > 1) {
var ps = s.substr(1).split('&');
ps.forEach(function(p){
var kv = p.split('=');
if (kv[0] == 'q') c_click(unescape(kv[1])); // c_click('1') を実現
});
}
})();</script>
もし開いた後でもやり取りがしたい場合は、ポップアップ形式の window.open なら可能ですが、最近の潮流ではセキュリティー観点から面倒なことになるのでお勧めしません。
No.4
- 回答日時:
<a href="javascript:open('a.html').onload=function(){c_click(1)}"
t;/a>ありがとうございます!
イメージ的には私が希望するそのものでしたが、上記のリンクを設定してクリックしても動作することができませんでした。
No.2
- 回答日時:
c_click は a.htm の要素を操作する関数であり、外部スクリプト等では解決できない仮定で回答します。
ページをまたぐ関数呼び出しは、セキュリティーの観点から出来ないのですが、親子関係にあるページなら以下の方法で呼び出せます。
/* --- a.html --- */
<!DOCTYPE html>
<script> function c_click(x){ alert(x) } </script>
<body>
<p><a href=b.html target=nameA>新しいタブで開く子画面</a>
<p><iframe src=b.html>内部に埋め込む子画面</iframe>
<p><button onclick="window.open('b.html','nameB')">ポップアップの子画面</button>
/* --- b.html --- */
<!DOCTYPE html>
<script>
function clickParent(x){
var p = window.opener || window.parent;
if (p && p['c_click']) p.c_click(x);
}
</script>
<a href="javascript:clickParent(2)">click parent</a>
早速のご回答ありがとうございます!
サンプルまで記載いただいて助かります。
今回のプログラムは、常時b.htm側が開いていて、
b.htm側からa.htmをひらくことを想定しています。
(b.htmが親、a.htmが子)
ご提示頂いたサンプルだと親子関係が逆になると思いますが、
今回の課題を実現するためには、ご提示頂いた親子関係が必須になりますでしょうか。
No.1
- 回答日時:
a.htmで動作しているjavascriptをjsファイルに置き換え、b.htm側でも外部ファイルとして読み込むことで、あなたが考えている動きを実現させることができます。
<head>
<title>b.htm</title>
<!-- ここです↓ -->
<script type="text/javascript" src="sample.js" charset="utf-8"></script>
</head>
早々のご回答ありがとうございます。
また、私の説明が不十分で申し訳ございません。
a.htm にあるJavascriptは a.htm 内の要素を実行するものになっています。具体的には、a.htmにはgoogleMapが記述されていて、a.htmページ内のc_click(n)をクリックすることで、nに対応する場所がgooglemapの中央に表示されるものとなっています。
今回実現したいのは、b.htm内に、nに対応するリンクを羅列し、b.htmの特定リンクをクリックすると、a.htmが開いて、対応するGoogleMapが描かれることを想定しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript jqueryとJavaについて 2 2022/05/16 22:39
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- HTML・CSS 【CSS】特定のリンクを含むaタグを指定できるかどうか? 3 2022/10/15 02:45
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こんにちは、javascript初心者...
-
確認ダイアログで「キャンセル...
-
scriptタグ
-
JavaScriptからVBScriptの呼び...
-
undefinedが表示されてしまう
-
PrintScreenキーを無効にしたい
-
Vbscriptで自分自身のウィンド...
-
CGIのリターンをjavascriptで受...
-
'<s' + 'cript とsを切り離すの...
-
スクリプトエラーについて
-
プルダウンから1個選んで、豆知...
-
VBscriptでVisualBasicのような...
-
<a href="#" …>の意味を教えて...
-
同意を求めて、次のページに進...
-
javascriptとApacheの設定
-
function の return 値を表示し...
-
(Javascript)印刷するファイル...
-
クリックすると別の文章を表示する
-
特定のウィンドウ名を持つウィ...
-
【SSI】include file、include ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptからVBScriptの呼び...
-
ウインドウの後ろに隠れている...
-
Vbscriptで自分自身のウィンド...
-
「関数が定義されていない」と...
-
window.onloadイベントの任意実...
-
毎回、ページ読み込み時に1回...
-
印刷時に消したいjavascriptがある
-
datepickerで日付の値を取得したい
-
確認ダイアログで「キャンセル...
-
<aタグで変数に文字を代入
-
PrintScreenキーを無効にしたい
-
Cygwinでログをのこす方法
-
マウスオーバー時の下線表示に...
-
CGIのリターンをjavascriptで受...
-
リンクにマウスポインタをおく...
-
javascriptでtableの該当行を削...
-
VBscriptでVisualBasicのような...
-
ASPで取得した情報をscriptタグ...
-
Java ScriptでIPによるアクセス...
-
'<s' + 'cript とsを切り離すの...
おすすめ情報