質問編集履歴
3
解決策の掲示
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,6 +16,17 @@
|
|
16
16
|
②コンソールに表示された内容を取得する。
|
17
17
|
|
18
18
|
どちらでも良いのですが、いずれにせよ実現方法がわかりません。
|
19
|
+
|
20
|
+
### 処理のフロー
|
21
|
+
サイトにアクセス
|
22
|
+
↓
|
23
|
+
画面表示(iframeやテキストエリアなどの各コンポーネントを表示)
|
24
|
+
↓
|
25
|
+
テキストエリアにコードを記入し実行ボタンを押下
|
26
|
+
↓
|
27
|
+
文字列を置換する関数が実行され iframe の srcdoc が更新
|
28
|
+
↓
|
29
|
+
p5js が実行、エラーがあればコンソールに表示
|
19
30
|
|
20
31
|
### 該当のソースコード
|
21
32
|
|
@@ -78,7 +89,7 @@
|
|
78
89
|
```
|
79
90
|
この "Uncaught ReferenceError: x is not defined" をコンソールを確認しなくてもわかるように画面表示したいです。
|
80
91
|
|
81
|
-
####
|
92
|
+
#### 質問後にやったこと1(解決せず)
|
82
93
|
イベントリスナを設定してみましたが、結果が以前と何も変わらなかったです。リスナ内の console.log() が実行されていないようなのでリスナが動作していない?のではないかと思います。
|
83
94
|
|
84
95
|
```javaScript
|
@@ -111,3 +122,14 @@
|
|
111
122
|
}
|
112
123
|
</script>
|
113
124
|
```
|
125
|
+
|
126
|
+
#### 質問後にやったこと2(解決)
|
127
|
+
以下のイベントリスナを srcdoc 更新時に毎回埋め込むよう( htmlDoc の '<script><\/script>' を置換後、以下のタグを追加 ) に修正。
|
128
|
+
```javaScript
|
129
|
+
<script>
|
130
|
+
window.addEventListener('error', (event) => {
|
131
|
+
console.log('error:', event);
|
132
|
+
})
|
133
|
+
</script>
|
134
|
+
```
|
135
|
+
|
2
エラーについて追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,3 +78,36 @@
|
|
78
78
|
```
|
79
79
|
この "Uncaught ReferenceError: x is not defined" をコンソールを確認しなくてもわかるように画面表示したいです。
|
80
80
|
|
81
|
+
#### 追記
|
82
|
+
イベントリスナを設定してみましたが、結果が以前と何も変わらなかったです。リスナ内の console.log() が実行されていないようなのでリスナが動作していない?のではないかと思います。
|
83
|
+
|
84
|
+
```javaScript
|
85
|
+
<script>
|
86
|
+
export default {
|
87
|
+
data() {
|
88
|
+
return {
|
89
|
+
name: 'Result',
|
90
|
+
msg: 'Result',
|
91
|
+
htmlDoc:
|
92
|
+
'<!DOCTYPE html>' +
|
93
|
+
"<html lang='ja'>" +
|
94
|
+
'<head>' +
|
95
|
+
"<meta charset='utf-8'>" +
|
96
|
+
'</head>' +
|
97
|
+
'<body style="margin:0;padding:0;">' +
|
98
|
+
"<script src='/p5.js/p5.min.js'\><\/script>" +
|
99
|
+
'<script><\/script>' +
|
100
|
+
'</body>' +
|
101
|
+
'</html>'
|
102
|
+
}
|
103
|
+
},
|
104
|
+
mounted() {
|
105
|
+
document
|
106
|
+
.getElementsByTagName('iframe')[0]
|
107
|
+
.contentWindow.addEventListener('error', event => {
|
108
|
+
console.log('addEventListener', event)
|
109
|
+
})
|
110
|
+
}
|
111
|
+
}
|
112
|
+
</script>
|
113
|
+
```
|
1
エラーの説明を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,3 +60,21 @@
|
|
60
60
|
|
61
61
|
nuxt のバージョンは 2.15.4, p5.js のバージョンは 0.7.2 です。
|
62
62
|
|
63
|
+
#### エラーサンプル
|
64
|
+
たとえば、テキストエリアで以下のように宣言していない変数を使用して実行すると iframe には何も表示されませんが console では "Uncaught ReferenceError: x is not defined" が表示されます。
|
65
|
+
```javaScript
|
66
|
+
let position_x = 10;
|
67
|
+
|
68
|
+
function setup() {
|
69
|
+
createCanvas(600, 400);
|
70
|
+
}
|
71
|
+
|
72
|
+
function draw() {
|
73
|
+
stroke(0, 0, 0);
|
74
|
+
rect(x, 100, 60, 60);
|
75
|
+
|
76
|
+
position_x += 5;
|
77
|
+
}
|
78
|
+
```
|
79
|
+
この "Uncaught ReferenceError: x is not defined" をコンソールを確認しなくてもわかるように画面表示したいです。
|
80
|
+
|