質問編集履歴

3

内容削除

2020/03/11 04:17

投稿

poppoas
poppoas

スコア12

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
- notice._unReadMessageCount += feed_items.length;
188
+
190
-
191
-
192
-
193
- for(var i=0;i<feed_items.length;i++){
189
+
194
-
195
-
196
-
197
- //記事タイトル取得
190
+
198
-
199
- var title: HTMLCollectionOf<HTMLTitleElement> = feed_items[i].getElementsByTagName('title');
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
- // 複数URLが設定されているときは次のURLへ最新情報を取得しにいく
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

内容修正

2020/03/11 04:16

投稿

poppoas
poppoas

スコア12

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()の部分です

2020/03/11 00:00

投稿

poppoas
poppoas

スコア12

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