2017-09-21 11 views
0

ボタンを1つのhtmlページに置いていますが、クリックすると、別のhtmlページの別のボタンをアクティブにします。これは可能ですか?ボタンを別のページのボタンをクリックする方法

+0

一部のドメインとページの一方が開いている場合のみです。 – Mouser

+0

クリックイベントは別のブラウザタブでクリックイベントを発生させることができますか?いいえ。これは、悪質な動作(ハッキング)を防ぐための仕様です。 – smilebomb

+0

2番目のページに自分のJavaScriptを挿入できますか? – iquellis

答えて

1

これは、最初のページが実際に2番目のページを(window.open()を介して)生成する場合にのみ可能です。そうしないと、他のウィンドウの文書にアクセスする方法がありません。ここで

は例です:

var newWin = window.open("other page in my domain"); 
var otherButton = newWin.document.querySelector("selector to find button"); 
otherButton.click(); 
+0

これはそうです。最初のボタンは2番目のページにリンクしています。最初のボタンをクリックして2番目のページのボタンもクリックします。 – Ebower

+0

@ Ebowerいいえ、別のページへのリンクは、私が言っていることではなく、動作しません。最初のページでは、2番目のウィンドウがプログラム内で作成され、2番目のウィンドウが作成されなければなりません。 –

+0

ああ、私はあなたの助けに感謝します。 – Ebower

0

このソリューションは、しかし動作しますが、それは別のページから値を渡すことが必要です。ページをリンクすることはできません。その見た目をwebsocketsにしたい場合。

ページ1

HTML

<button id="activate">Activate other page</button> 

はJavaScript

document.querySelector("#activate").addEventListener("click", function(){ 
    location.href = "page2.html?button=activate"; //mind the querystring here. 
}); 

2ページ

HTML

<button id="toactivate" disabled>disabled button</button> 

JavaScript

var activateButton = location.search.slice(1); //querystring | get rid of the ? 
activateButton.split(/&/); 
activateButton.forEach(function(value){ 
    var splitted = value.split("="); 
    if (splitted[0] == "button" && splitted[1] == "activate") 
    { 
     document.querySelector("#toactivate").removeAttribute("disabled"); 
    } 
}); 
関連する問題