質問編集履歴

2

質問後に試した内容について追記

2023/03/13 01:10

投稿

tetNZ
tetNZ

スコア0

test CHANGED
File without changes
test CHANGED
@@ -6,20 +6,17 @@
6
6
  ### 前提
7
7
  現在Javascriptベースで作業効率化のスクリプトを作っています。
8
8
  現在は対象のリンクを手動で開き、その新しく開いたページへ移動し、ブックマークレットを手動でクリックすると、動作するスクリプトがあります。
9
- そのスクリプトを、新しいタブを自動で開きその新しいページで対象スクリプト実行してくれるように改善したいです。
9
+ そのスクリプト改善しブックマークレットクリックするだけで、新しいタブを自動で開きその新しいページで対象スクリプト実行してくれるようにしたいです。
10
10
 
11
-
11
+ [環境]
12
+ ChromeのDevTool上にて
12
13
 
13
14
 
14
15
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
15
- 下記のコードでは新しいページで対象のクラスを選択してクリックするなどスクリプトが機能してくれません。アラートやコンソールも新しいタブを開く以前のページ(元のぺージ)で表示されます。
16
+ 下記のコードでは新しいページで対象のクラスを選択してクリックするなどスクリプトが機能してくれません。~~アラートやコンソールも新しいタブを開く以前のページ(元のぺージ)で表示されます。~~
17
+ *AddeventListnerではなくて、直接newTab.alert()にすることで新しく開いたタブでもアラート文字が表示されることを確認しました。
16
18
 
17
-
18
-
19
-
20
- ```
21
-
19
+ newTab.document (newTabDoc)は古いブラウザ(新く開く前のブラウザ)側のDocumentを指示しているようです(新しいブラウザ側のDocumentではない)
22
- ```
23
20
 
24
21
  ### 該当のソースコード
25
22
 
@@ -30,7 +27,7 @@
30
27
 
31
28
  newTab.addEventListener("load", function() {
32
29
 
33
- let newTabDoc = newTab.document; // Manipulate the DOM or execute scripts on the new tab 
30
+ let newTabDoc = newTab.document; 
34
31
  setTimeout(()=>{
35
32
  let test1 = newTabDoc.getElementsByClassName('class1')[1]
36
33
  test1.click();
@@ -47,7 +44,16 @@
47
44
  例えばnewTab.document.write("<script>alert('Hello from the new tab!');</script>");など
48
45
 
49
46
  newTab.alert() や newTab.console.log()
50
- も試しておりましたが新しいブラウザの方で反応なしです。
47
+ ~~も試しておりましたが新しいブラウザの方で反応なしです。~~
48
+
49
+ newTab.onload = function(){
50
+ alert()
51
+ let newTabDoc = newTab.document
52
+ }
53
+
54
+ の形で新しいブラウザ側へのアラート表示が出来ましたが、newTabDoc の中身は空のようです
55
+
56
+ {+++++++++++++追記++++++++++++++++++}
51
57
 
52
58
  色々検索した限り同様のコードが示されていますが、うまく動作しません。
53
59
 

1

説明補足

2023/03/12 22:22

投稿

tetNZ
tetNZ

スコア0

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,9 @@
12
12
 
13
13
 
14
14
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
15
- 下記のコードでは新しいページで対象のクラスを指定してくれません。アラートやコンソールも新しいタブを開く以前のページ(元のぺージ)で表示されます。
15
+ 下記のコードでは新しいページで対象のクラスを選択してクリックするなどスクリプトが機能してくれません。アラートやコンソールも新しいタブを開く以前のページ(元のぺージ)で表示されます。
16
+
17
+
16
18
 
17
19
 
18
20
  ```
@@ -44,6 +46,9 @@
44
46
  CHATGPTを参考に色々試しました。
45
47
  例えばnewTab.document.write("<script>alert('Hello from the new tab!');</script>");など
46
48
 
49
+ newTab.alert() や newTab.console.log()
50
+ も試しておりましたが新しいブラウザの方で反応なしです。
51
+
47
52
  色々検索した限り同様のコードが示されていますが、うまく動作しません。
48
53
 
49
54
  どうぞご教示頂けますようよろしくお願い致します。