質問編集履歴
3
内容削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -91,66 +91,9 @@
|
|
91
91
|
try{
|
92
92
|
|
93
93
|
var feed_data:Document = domParser.parseFromString(xhr.response, "text/html");
|
94
|
-
feed_items = feed_data.getElementsByTagName(notice._itemTag);
|
94
|
+
feed_items = feed_data.getElementsByTagName(notice._itemTag);
|
95
|
-
|
95
|
+
|
96
|
-
|
97
|
-
|
96
|
+
|
98
|
-
|
99
|
-
//記事タイトル取得
|
100
|
-
var title: HTMLCollectionOf<HTMLTitleElement> = feed_items[i].getElementsByTagName('title');
|
101
|
-
|
102
|
-
//記事のリンク取得
|
103
|
-
//Atomのときはlinkタグのhrefにリンクがある
|
104
|
-
if(notice._urlType == 'Atom'){
|
105
|
-
var link:string = feed_items[i].getElementsByTagName('link')[0].getAttribute('href');
|
106
|
-
}else{
|
107
|
-
//RSS,RDFのとき(linkタグの子要素に格納されている)
|
108
|
-
var link:string = feed_items[i].getElementsByTagName('link')[0].nextSibling.textContent;
|
109
|
-
}
|
110
|
-
|
111
|
-
//記事内容の取得
|
112
|
-
var content: HTMLCollectionOf<Element> = feed_items[i].getElementsByTagName(notice._conTag);
|
113
|
-
if(content == null){
|
114
|
-
var contentText = "";
|
115
|
-
}else{
|
116
|
-
var contentText = content[0].textContent;
|
117
|
-
}
|
118
|
-
|
119
|
-
//記事の発行日付取得
|
120
|
-
var d:HTMLCollectionOf<Element> = feed_items[i].getElementsByTagName(notice._dateTag);
|
121
|
-
var date = new Date(d[0].textContent);
|
122
|
-
|
123
|
-
//比較用に現在の日付を取得
|
124
|
-
var nowDate = new Date();
|
125
|
-
var datecomp = new Date();
|
126
|
-
datecomp.setMonth(datecomp.getMonth() - 1);
|
127
|
-
|
128
|
-
//過去1ヵ月以内の記事のみ表示するようにする
|
129
|
-
if(date < datecomp){
|
130
|
-
console.log("記事の発行から1ヵ月経っています。");
|
131
|
-
}else{
|
132
|
-
|
133
|
-
//取得した最新情報を保管
|
134
|
-
var info = new Information(title[0].textContent, link, contentText, date, userId);
|
135
|
-
notice._informations.push(info);
|
136
|
-
|
137
|
-
//取得したデータをまとめる
|
138
|
-
var datas = {
|
139
|
-
title: title[0].textContent,
|
140
|
-
link : link,
|
141
|
-
content : contentText,
|
142
|
-
date : date,
|
143
|
-
nowDate : nowDate
|
144
|
-
};
|
145
|
-
|
146
|
-
//配列に最新情報を追加していく
|
147
|
-
notice._dataArray.push(datas);
|
148
|
-
|
149
|
-
//データベースに書き込む
|
150
|
-
noticeDB.writeDB(datas, notice._dbName, notice._storeName);
|
151
|
-
notice._completedFlag = true;
|
152
|
-
|
153
|
-
}
|
154
97
|
}
|
155
98
|
}catch{
|
156
99
|
console.log('error');
|
@@ -158,17 +101,6 @@
|
|
158
101
|
}
|
159
102
|
}
|
160
103
|
}
|
161
|
-
|
162
|
-
|
104
|
+
|
163
|
-
if(count<this._feeds.length){
|
164
|
-
count++;
|
165
|
-
this.getLatestInformation(this._feeds[count-1],count, userId,notice,noticeDB);
|
166
|
-
}
|
167
105
|
}
|
168
|
-
```
|
106
|
+
```
|
169
|
-
|
170
|
-
### 試したこと
|
171
|
-
|
172
|
-
アイコン描画部分の処理(var noticeIcon辺り)を
|
173
|
-
htmlのonloadで画面が呼ばれた後にscriptを呼び出そうとしたが、アイコンを設定するインスタンス(notice)が、
|
174
|
-
最新情報を取得するインスタンスと別になってしまうので、うまくできなかった。(良い書き方があれば教えてください)
|
2
内容修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,6 +18,7 @@
|
|
18
18
|
### 最終的な目標
|
19
19
|
|
20
20
|
Typescriptで書いている、Ajaxの処理が全て終わってからhtml内のjavascriptで未読アイコン表示の処理を行いたいです。
|
21
|
+
UI(html)とコア部分(Typescript)はUIだけコアに依存させる形にしたいです。
|
21
22
|
|
22
23
|
### 該当のソースコード
|
23
24
|
該当箇所のみ抜き出しています。
|
1
Typescriptがhtmlで定義しているNotice()の部分です
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,6 +59,8 @@
|
|
59
59
|
```
|
60
60
|
|
61
61
|
```Typescript
|
62
|
+
Notice.ts
|
63
|
+
|
62
64
|
loadInformations() {
|
63
65
|
var count=0
|
64
66
|
//最新情報を取得する
|