SSブログ

JavaScriptのお勉強(覚え書き) [Tasker]

位置情報からの天気予報を読み上げさせるため、JavaScriptの勉強にまで広がっております。

取り急ぎ調べているのは、下記となります。 JavaScriptでの正規表現です。
var t=global('HTTPD').match(/\(\d+)\<\/postal\>/i);t&&(tmp=t[1]);
taskerを使って緯度経度から郵便番号を調べるサイトを読んで(HTTPD)、郵便番号を取得する部分となります。

/\(\d+)<\/postal\>/i)で、" (\d+)"は 1桁以上の数字を抽出と分かったのですが、後ろについてる"i"と";t&&(tmp=t[1]);"の意味は、この後に調べます。 *tmpは緯度,経度,errとなってます。 iは配列として使われてそうです。詳細はこちらのサイト1サイト2で調べました。

後、1歩まできました。天気、気温を取得するJavaScriptを修正すれば完成です。でも、かなり、手強そうです。 【一歩手前まで】
現在地天気取得(infoseek版)
A1: Variable Set [ Name:%tmp To:%LOCN,err Do Maths:Off Append:Off ] A2: Variable Split [ Name:%tmp Splitter:, Delete Base:Off ]
A3: HTTP Get [ Server:Port:geoapi.heartrails.com Path:api/xml?method=searchByGeoLocation&y=%tmp1&x=%tmp2 Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ]
A4: JavaScriptlet [ Code:var t=global('HTTPD').match(/\(\d+)\<\/postal\>/i);t&&(tmp=t[1]); Libraries: Auto Exit:On Timeout (Seconds):45 ]
A5: HTTP Get [ Server:Port:infoseek.tenki.jp Path:search/zip/?keyword=%tmp Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ]
A6: Goto [ Type:Action Number Number:1 Label: ] If [ %tmp !~R \d{7}$ ]
A7: JavaScriptlet [ Code:var t=global('HTTPD').match(/infoseek\.tenki\.jp\/(forecast\/[0-9a-d\/]+\.html)/);t&&(tmp=t[1]) Libraries: Auto Exit:On Timeout (Seconds):45 ]

A8: Goto [ Type:Action Number Number:1 Label: ] If [ %tmp !~R ^forecast ]
A9: Variable Search Replace [ Variable:%tmp Search:.html Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In: Replace Matches:On Replace With:-daily.html ]
A10: HTTP Get [ Server:Port:infoseek.tenki.jp Path:%tmp Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ]
--------この下のコードを修正すれば終了です。-----------
A11: JavaScriptlet [ Code:for(var d=new Date(3.5*36E5+(new Date).getTime()),  h=d.getHours()/3&7,p=[d.getDate(),1,10,19,28,37,47+h,48+h],r='?;;;℃;%;㎜;;m'.split(';'),  s=global('HTTPD').replace(/(<[^>]+>|\r?\n)+/g,'\n'),u=s.split('\n'),i=1,j=u.length;i------------------------------------------------

A12: Variable Set [ Name:%DEBUG To:%HTTPD Do Maths:Off Append:Off ] If [ %tmp3 eq err ]
A13 : Return [ Value:%tmp3 Stop:On ]
A14 [X] Say [ Text:%DEBUG Engine:Voice:com.google.android.tts:jpn-jpn Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]

タグ:tasker
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。