質問するログイン新規登録

質問編集履歴

1

当該のユーザースクリプトを追加しました

2018/07/02 11:53

投稿

igar
igar

スコア110

title CHANGED
File without changes
body CHANGED
@@ -17,4 +17,67 @@
17
17
 
18
18
  デベロッパーツールコンソールで`getElementsByXPath`関数を呼び出してみても、not difineでした。やはり定義されていないようです。
19
19
 
20
- どうしたら通常のJavascriptのような挙動で関数定義することができますか?
20
+ どうしたら通常のJavascriptのような挙動で関数定義することができますか?
21
+
22
+ ## 追記
23
+
24
+ 当該のユーザースクリプト
25
+
26
+ ```
27
+ // ==UserScript==
28
+ // @name dev
29
+ // @namespace http://tampermonkey.net/
30
+ // @version 0.1
31
+ // @description try to take over the world!
32
+ // @author You
33
+ // @match *://*/*
34
+ // @grant none
35
+ // ==/UserScript==
36
+
37
+
38
+ var toolwindow = document.createElement("div");
39
+ toolwindow.id = "toolwindow";
40
+ toolwindow.innerHTML = [
41
+ '<button type="button" style="width: 100%;" name="myFunction" onclick="myFunction()">myFunction</button>',
42
+ '<div id="hidetoolwindow" onclick="hidetoolwindow()">hidetoolwindow</div>',
43
+ ].join("");
44
+ document.body.appendChild(toolwindow);
45
+
46
+ var toolwindowStyle = document.createElement("style");
47
+ toolwindowStyle.type = "text/css";
48
+ toolwindowStyle.innerHTML = [
49
+ "#toolwindow {",
50
+ " position: fixed;",
51
+ " color: #f8f8f8;",
52
+ " z-index: 100000;",
53
+ " top: 10px;",
54
+ " right: 10px;",
55
+ " margin-left: auto;",
56
+ " margin-right: auto;",
57
+ " display: block;",
58
+ " background-color: black;",
59
+ " height: 100px;",
60
+ " width: 200px;",
61
+ " opacity: 0.7;",
62
+ " padding: 10px;",
63
+ "}",
64
+ "#toolwindow * {",
65
+ "font-size: 16px;",
66
+ "}",
67
+ "#hidetoolwindow {",
68
+ "padding-top: 60px;",
69
+ "}",
70
+ ].join("");
71
+ document.body.appendChild(toolwindowStyle);
72
+
73
+ function myFunction(){
74
+ alert('y') ;
75
+ }
76
+ ```
77
+
78
+ やってることは、HTMLのボタンを表示させて、それをクリックするとmyFunction()が動いてalert('y');されるという簡単なものです。
79
+
80
+ これが、tampermonkeyだと、HTMLの追加まではできるのですが、ボタンを押しても反応がありません。
81
+ つまり、おそらくmyFunction()が定義されていない(→関数の定義ができない?)と考えました。
82
+
83
+ なにか抜けているところなどありますでしょうか…?