質問編集履歴

3

エラー内容追記。誤字訂正。

2019/10/11 05:53

投稿

mayfil521
mayfil521

スコア5

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
-
19
+ ```javascript
20
20
 
21
21
  #<object id="aaatext" data="aaa.html" type="text/plain" style="display:none"></object>
22
22
 
@@ -36,10 +36,14 @@
36
36
 
37
37
 
38
38
 
39
+ ```
40
+
39
41
  次に、文字列をDOMとして取得する方法は下記のサイトを参考にさせて頂きました。
40
42
 
41
43
  http://donsuka-kk.hatenablog.com/entry/20140228/1393596415
42
44
 
45
+ ```javascript
46
+
43
47
  ( function() {"use strict";
44
48
 
45
49
 
@@ -74,7 +78,7 @@
74
78
 
75
79
  var htmlDoc;
76
80
 
77
- htmlDoc = document.implementation.cateHTMLDocument('dom');
81
+ htmlDoc = document.implementation.createHTMLDocument('dom');
78
82
 
79
83
  htmlDoc.documentElement.innerHTML = txt;
80
84
 
@@ -114,8 +118,116 @@
114
118
 
115
119
 
116
120
 
121
+ ```
122
+
117
123
  上記の text +=の部分を最初のソースにあるloadtextに置き換えてみたのですが、上手く行きません。
118
124
 
119
125
  IEではalert(loadtext)できちんとソースコードが表示されています。
120
126
 
121
- どのようにateHTMLDocumentの引数に設定したらよいでしょうか?
127
+ どのようにcreateHTMLDocumentの引数に設定したらよいでしょうか?
128
+
129
+
130
+
131
+ 10/11追加
132
+
133
+ 以下が実際に書いたコードです。
134
+
135
+
136
+
137
+ ```javascript
138
+
139
+ <html>
140
+
141
+ <head>
142
+
143
+ <title>test</title>
144
+
145
+ </head>
146
+
147
+ <body>
148
+
149
+
150
+
151
+ <object id="ob1" type="text/html" data="sample.html">
152
+
153
+ </object>
154
+
155
+
156
+
157
+ <script type="text/javascript">
158
+
159
+
160
+
161
+ var obj = document.getElementById("ob1");
162
+
163
+ obj.onload = function() {
164
+
165
+ var loadtext = obj.contentDocument.documentElement.textContent;
166
+
167
+ //var loadtext = obj.contentDocument.documentElement.outerHTML
168
+
169
+ console.log(loadtext);
170
+
171
+ }
172
+
173
+
174
+
175
+ function getDom(txt) {
176
+
177
+ var htmlDoc;
178
+
179
+ htmlDoc = document.implementation.createHTMLDocument('dom');
180
+
181
+ htmlDoc.documentElement.innerHTML = txt;
182
+
183
+ return htmlDoc;
184
+
185
+ }
186
+
187
+
188
+
189
+ var DOM = getDom(loadtext);
190
+
191
+ console.log(DOM.getElementById('ichiran').textContent);
192
+
193
+
194
+
195
+ </script>
196
+
197
+
198
+
199
+ </body>
200
+
201
+ </html>
202
+
203
+ ```
204
+
205
+ miyabi_takatsuk 様
206
+
207
+ dodox86 様
208
+
209
+ m.ts10806 様(タグ追加の手続きは自分ではできないようですので、後程行います)
210
+
211
+
212
+
213
+ ご指摘ありがとうございます。投稿内容修正いたしましたのでご確認のほどよろしくお願いいたします。
214
+
215
+
216
+
217
+ Chromeで開いた状態で以下のエラーです。
218
+
219
+
220
+
221
+ getDom(text)のところで loadtext is not defined というエラーがでます。
222
+
223
+
224
+
225
+ documentElement.textContent;のところで documentElement' of null というエラーがでます。
226
+
227
+
228
+
229
+ IEではalertはでますが、console.logが表示されません。
230
+
231
+
232
+
233
+ ご教示のほどよろしくお願いいたします。

2

文字が余分に入っていた

2019/10/11 05:53

投稿

mayfil521
mayfil521

スコア5

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ローカルにあるHTMLファイルをDOMとして取得し、ソースを書き換える方法を探しています。
10
10
 
11
- まず、HTMLファイルのソースを文字列として取得する方法として、下記サイトを参考にさせて頂きました。
11
+ まず、HTMLファイルのソースを文字列として取得する方法として、下記サイトを参考にさせて頂きました。
12
12
 
13
13
  https://www.excellence-blog.com/2018/02/02/html%E3%81%A7%E5%A4%96%E9%83%A8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80/
14
14
 

1

タイトルが文字が切れていたので修正

2019/10/10 14:05

投稿

mayfil521
mayfil521

スコア5

test CHANGED
@@ -1 +1 @@
1
- を読み込み、DOMに設定する方法
1
+ HTMLを読み込み、DOMに設定する方法
test CHANGED
File without changes