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

質問編集履歴

3

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

2019/10/11 05:53

投稿

mayfil521
mayfil521

スコア5

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,7 @@
7
7
  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/
8
8
  オブジェクトタグのdata属性にhtmlファイル名を設定しています。
9
9
 
10
-
10
+ ```javascript
11
11
  #<object id="aaatext" data="aaa.html" type="text/plain" style="display:none"></object>
12
12
  <script>
13
13
  var obj = document.getElementById("aaatext");
@@ -17,8 +17,10 @@
17
17
  }
18
18
  </script>
19
19
 
20
+ ```
20
21
  次に、文字列をDOMとして取得する方法は下記のサイトを参考にさせて頂きました。
21
22
  http://donsuka-kk.hatenablog.com/entry/20140228/1393596415
23
+ ```javascript
22
24
  ( function() {"use strict";
23
25
 
24
26
  var text = "<!DOCTYPE html>";
@@ -36,7 +38,7 @@
36
38
 
37
39
  function getDom(txt) {
38
40
  var htmlDoc;
39
- htmlDoc = document.implementation.cateHTMLDocument('dom');
41
+ htmlDoc = document.implementation.createHTMLDocument('dom');
40
42
  htmlDoc.documentElement.innerHTML = txt;
41
43
  return htmlDoc;
42
44
  }
@@ -56,6 +58,60 @@
56
58
  }
57
59
  }());
58
60
 
61
+ ```
59
62
  上記の text +=の部分を最初のソースにあるloadtextに置き換えてみたのですが、上手く行きません。
60
63
  IEではalert(loadtext)できちんとソースコードが表示されています。
61
- どのようにateHTMLDocumentの引数に設定したらよいでしょうか?
64
+ どのようにcreateHTMLDocumentの引数に設定したらよいでしょうか?
65
+
66
+ 10/11追加
67
+ 以下が実際に書いたコードです。
68
+
69
+ ```javascript
70
+ <html>
71
+ <head>
72
+ <title>test</title>
73
+ </head>
74
+ <body>
75
+
76
+ <object id="ob1" type="text/html" data="sample.html">
77
+ </object>
78
+
79
+ <script type="text/javascript">
80
+
81
+ var obj = document.getElementById("ob1");
82
+ obj.onload = function() {
83
+ var loadtext = obj.contentDocument.documentElement.textContent;
84
+ //var loadtext = obj.contentDocument.documentElement.outerHTML
85
+ console.log(loadtext);
86
+ }
87
+
88
+ function getDom(txt) {
89
+ var htmlDoc;
90
+ htmlDoc = document.implementation.createHTMLDocument('dom');
91
+ htmlDoc.documentElement.innerHTML = txt;
92
+ return htmlDoc;
93
+ }
94
+
95
+ var DOM = getDom(loadtext);
96
+ console.log(DOM.getElementById('ichiran').textContent);
97
+
98
+ </script>
99
+
100
+ </body>
101
+ </html>
102
+ ```
103
+ miyabi_takatsuk 様
104
+ dodox86 様
105
+ m.ts10806 様(タグ追加の手続きは自分ではできないようですので、後程行います)
106
+
107
+ ご指摘ありがとうございます。投稿内容修正いたしましたのでご確認のほどよろしくお願いいたします。
108
+
109
+ Chromeで開いた状態で以下のエラーです。
110
+
111
+ getDom(text)のところで loadtext is not defined というエラーがでます。
112
+
113
+ documentElement.textContent;のところで documentElement' of null というエラーがでます。
114
+
115
+ IEではalertはでますが、console.logが表示されません。
116
+
117
+ ご教示のほどよろしくお願いいたします。

2

文字が余分に入っていた

2019/10/11 05:53

投稿

mayfil521
mayfil521

スコア5

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  どなたかご教授お願い致します。
4
4
 
5
5
  ローカルにあるHTMLファイルをDOMとして取得し、ソースを書き換える方法を探しています。
6
- まず、HTMLファイルのソースを文字列として取得する方法として、下記サイトを参考にさせて頂きました。
6
+ まず、HTMLファイルのソースを文字列として取得する方法として、下記サイトを参考にさせて頂きました。
7
7
  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/
8
8
  オブジェクトタグのdata属性にhtmlファイル名を設定しています。
9
9
 

1

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

2019/10/10 14:05

投稿

mayfil521
mayfil521

スコア5

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