質問編集履歴
3
内容削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -184,125 +184,11 @@
|
|
184
184
|
|
185
185
|
var feed_data:Document = domParser.parseFromString(xhr.response, "text/html");
|
186
186
|
|
187
|
-
feed_items = feed_data.getElementsByTagName(notice._itemTag);
|
187
|
+
feed_items = feed_data.getElementsByTagName(notice._itemTag);
|
188
|
-
|
189
|
-
|
188
|
+
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
189
|
+
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
190
|
+
|
198
|
-
|
199
|
-
|
191
|
+
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
//記事のリンク取得
|
204
|
-
|
205
|
-
//Atomのときはlinkタグのhrefにリンクがある
|
206
|
-
|
207
|
-
if(notice._urlType == 'Atom'){
|
208
|
-
|
209
|
-
var link:string = feed_items[i].getElementsByTagName('link')[0].getAttribute('href');
|
210
|
-
|
211
|
-
}else{
|
212
|
-
|
213
|
-
//RSS,RDFのとき(linkタグの子要素に格納されている)
|
214
|
-
|
215
|
-
var link:string = feed_items[i].getElementsByTagName('link')[0].nextSibling.textContent;
|
216
|
-
|
217
|
-
}
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
//記事内容の取得
|
222
|
-
|
223
|
-
var content: HTMLCollectionOf<Element> = feed_items[i].getElementsByTagName(notice._conTag);
|
224
|
-
|
225
|
-
if(content == null){
|
226
|
-
|
227
|
-
var contentText = "";
|
228
|
-
|
229
|
-
}else{
|
230
|
-
|
231
|
-
var contentText = content[0].textContent;
|
232
|
-
|
233
|
-
}
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
//記事の発行日付取得
|
238
|
-
|
239
|
-
var d:HTMLCollectionOf<Element> = feed_items[i].getElementsByTagName(notice._dateTag);
|
240
|
-
|
241
|
-
var date = new Date(d[0].textContent);
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
//比較用に現在の日付を取得
|
246
|
-
|
247
|
-
var nowDate = new Date();
|
248
|
-
|
249
|
-
var datecomp = new Date();
|
250
|
-
|
251
|
-
datecomp.setMonth(datecomp.getMonth() - 1);
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
//過去1ヵ月以内の記事のみ表示するようにする
|
256
|
-
|
257
|
-
if(date < datecomp){
|
258
|
-
|
259
|
-
console.log("記事の発行から1ヵ月経っています。");
|
260
|
-
|
261
|
-
}else{
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
//取得した最新情報を保管
|
266
|
-
|
267
|
-
var info = new Information(title[0].textContent, link, contentText, date, userId);
|
268
|
-
|
269
|
-
notice._informations.push(info);
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
//取得したデータをまとめる
|
274
|
-
|
275
|
-
var datas = {
|
276
|
-
|
277
|
-
title: title[0].textContent,
|
278
|
-
|
279
|
-
link : link,
|
280
|
-
|
281
|
-
content : contentText,
|
282
|
-
|
283
|
-
date : date,
|
284
|
-
|
285
|
-
nowDate : nowDate
|
286
|
-
|
287
|
-
};
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
//配列に最新情報を追加していく
|
292
|
-
|
293
|
-
notice._dataArray.push(datas);
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
//データベースに書き込む
|
298
|
-
|
299
|
-
noticeDB.writeDB(datas, notice._dbName, notice._storeName);
|
300
|
-
|
301
|
-
notice._completedFlag = true;
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
}
|
306
192
|
|
307
193
|
}
|
308
194
|
|
@@ -318,30 +204,8 @@
|
|
318
204
|
|
319
205
|
}
|
320
206
|
|
321
|
-
|
322
|
-
|
323
|
-
|
207
|
+
|
324
|
-
|
325
|
-
if(count<this._feeds.length){
|
326
|
-
|
327
|
-
count++;
|
328
|
-
|
329
|
-
this.getLatestInformation(this._feeds[count-1],count, userId,notice,noticeDB);
|
330
|
-
|
331
|
-
}
|
332
208
|
|
333
209
|
}
|
334
210
|
|
335
211
|
```
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
### 試したこと
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
アイコン描画部分の処理(var noticeIcon辺り)を
|
344
|
-
|
345
|
-
htmlのonloadで画面が呼ばれた後にscriptを呼び出そうとしたが、アイコンを設定するインスタンス(notice)が、
|
346
|
-
|
347
|
-
最新情報を取得するインスタンスと別になってしまうので、うまくできなかった。(良い書き方があれば教えてください)
|
2
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,6 +38,8 @@
|
|
38
38
|
|
39
39
|
Typescriptで書いている、Ajaxの処理が全て終わってからhtml内のjavascriptで未読アイコン表示の処理を行いたいです。
|
40
40
|
|
41
|
+
UI(html)とコア部分(Typescript)はUIだけコアに依存させる形にしたいです。
|
42
|
+
|
41
43
|
|
42
44
|
|
43
45
|
### 該当のソースコード
|
1
Typescriptがhtmlで定義しているNotice()の部分です
test
CHANGED
File without changes
|
test
CHANGED
@@ -120,6 +120,10 @@
|
|
120
120
|
|
121
121
|
```Typescript
|
122
122
|
|
123
|
+
Notice.ts
|
124
|
+
|
125
|
+
|
126
|
+
|
123
127
|
loadInformations() {
|
124
128
|
|
125
129
|
var count=0
|