SyntaxHighlighter

2012年4月30日月曜日

Google Chrome 入力済FROMから自動入力JavaScriptを育成 - chromeThing.exe

Google Chrome 入力済FROMから自動入力JavaScriptを育成 - chromeThing.exe

https://sites.google.com/site/chromething/




基本的には、chromeThing.exe で利用しますが、Google Chrome Developer ToolsのConsoleからも利用可能です。


【入力済FROMから自動入力JavaScriptを育成するJavaScript】

※Form内の「input」「select」「textarea」にname属性必須です。

ファイル名:[GetForm[0][name].cthing] - - - - - - - - - - - - - - - - - - - -

<!--入力済FROMから自動入力JavaScriptを育成-->
javascript:
function SetInput(_name,_value){
return '_form[\'' + _name + '\'].value=\''+ _value +'\';'
}
var formIndex=0;
var ar = new Array();

var _form=document.getElementsByTagName('form')[formIndex];

var radioIndex =0;
var radioName='-';

var checkboxIndex =0;
var checkboxName='-';

var _input=_form.getElementsByTagName("input");
var max =_input.length;
for (var i = 0 ; i < max ; i++){
     var e=_input[i];

     if(e.type=='text'||e.type=='password'){
     ar.push(SetInput(e.name,e.value));
     }

     if(e.type=='radio'){
        if(radioName==e.name){
               radioIndex =radioIndex+1;
          }else{
               radioIndex =0;
          }
        if(e.checked){
           ar.push( '_form[\''+ e.name + '\']['+  radioIndex +'].checked=true;' );
        }
      radioName=e.name;
     }

     if(e.type=='checkbox'){
        if(checkboxName==e.name){
               checkboxIndex =checkboxIndex+1;
          }else{
               checkboxIndex =0;
          }
     var jsc='_form[\''+ e.name + '\']['+  checkboxIndex +'].checked=';

     if(_form[e.name].length==undefined){
          jsc='_form[\''+ e.name + '\'].checked=';
     }
        if(e.checked){
           ar.push( jsc+'true;' );
        }else{
           ar.push( jsc+'false;' );
        }
      checkboxName=e.name;
     }
}
var _select=_form.getElementsByTagName('select');
max =_select.length;
for (var i = 0 ; i < max ; i++){
var e=_select[i];
ar.push(SetInput(e.name,e.value));

}

var _textarea=_form.getElementsByTagName('textarea');
var max =_textarea.length;
for (var i = 0 ; i < max ; i++){
var e=_textarea[i];
var str=e.value;
str=str.replace(/(\n|\r)/g,'\\n');
ar.push(SetInput(e.name,str));
}

function j(){
var js='javascript:function do_input(){\nvar _form=document.getElementsByTagName(\'form\')[' + formIndex + '];\n';
max=ar.length;
for (var i = 0 ; i < max ; i++){
js=js+ar[i]+'\n';
}
js=js+'}do_input();';
var er=document.getElementsByTagName('TITLE')[0].text=js+'//';
disp(js,max);
window.scroll(0,document.body.scrollHeight);
}
j();
function disp(js,max){
var _div = document.createElement( 'div' );
_div .setAttribute( 'id' , '_result_div' );
var Dd = document.body.appendChild( _div );
var _textarea = document.createElement( 'textarea' );
_textarea.setAttribute( 'id' , '_result_ta' );
_textarea.setAttribute( 'cols' , 100 );
_textarea.setAttribute( 'rows' , max+3 );
var Ta = Dd.appendChild( _textarea );
Ta.value=js;
}
- - - - - - - - - - - - - - - - - - - -

Google Chromeで「楽天RMS」に自動ログインする - chromeThing.exe

Google Chromeで「楽天RMS」に自動ログインする - chromeThing.exe

https://sites.google.com/site/chromething/



Google Chrome を自動操作出来ないかなぁ?と常々思っていました。
ふと思い浮かんだ方法を試して見ると「なんかイケそう!」な感じ!

以下、の様にJavaScriptを記述。

ファイル:[RSMLogin.cthing] - - - - - - - - - - - - - - - - - - - -

https://glogin.rms.rakuten.co.jp
<!--chromeThing:Sleep(1000)-->
javascript:
if(document.URL!='https://glogin.rms.rakuten.co.jp'){
location.href = 'https://glogin.rms.rakuten.co.jp';
}
<!--chromeThing:Sleep(1000)-->
javascript:
function login(){
document.getElementsByName('login_id')[0].value='あなたのR-Login ID';
document.getElementsByName('passwd')[0].value='あなたのR-Loginパスワード ';
document.getElementsByName('submit')[0].click();}
login();
<!--chromeThing:Sleep(1000)-->
javascript:
function login2(){
document.getElementsByName('user_id')[0].value='あなたの楽天会員のユーザID';
document.getElementsByName('user_passwd')[0].value='あなたの楽天会員のユーザパスワード';
document.getElementsByName('submit')[0].click();}
login2();
<!--chromeThing:Sleep(1500)-->
javascript:document.getElementsByName('submit')[0].click()
<!--Sleep(1500)-->
javascript:document.getElementsByTagName('input')[0].click()
<!--chromeThing:Sleep(3000)-->
https://order.rms.rakuten.co.jp/rms/mall/order/rb/vc?__event=BO01_001_001&status_id=1&from=mm21
 - - - - - - - - - - - - - - - - - - - -

拡張子「*.cthing」が、chromeThing.exeに関連付けられるので、[RSMLogin.cthing]ファイルをダブルクリックで実行可能です。

chromeThing.exe
・ちょっとしたJavaScriptのテストが、Google Chrome上で行える。
・JavaScriptをファイルで保存し管理ができる。
・Form入力テストで自動入力ができる。
(Form入力用のJavaScriptを自動育成するJavaScriptを書いたので近日公開!)

って言うか、chromeThing.exe 近日公開!

リニューアルサイト公開しました。

お疲れさまです、こんにちは。
もう片方のWeb担当、助田です。

せっかくのGWなのに、どうもこちらでは天気が崩れているようで(´・ω・`)

大丈夫、お前なら出来るよ!イケるイケる!頑張って晴れようよ!ね!!ね!!!

と、修造バリに空へ訴えてみたところで、リニューアル案件だったWebサイトが無事公開となったお知らせです。

徳島のホテル&ウエディング、アグネスホテル徳島さまのWebサイトが公開となりました。
資料・お写真等、ご協力いただき誠にありがとうございました。



サイト制作の中で、非常に辛かったことが一点。

食べものの写真美味しそうすぎるつらい。

トマトソースのパスタもクリームソースのパスタもペペロンチーニ的なものから!!
ちなみに私、パスタ麺三キロを一ヶ月ほどで消費する程度のパスタ好きです。一日一食パスタ。
そしてペストリーブティックも併設してらっしゃいますので、必然的にケーキの写真が。
そう。定時直前、一番お腹が空く時間帯にケーキの写真が。ずらずらと。何枚も。

液晶お願いそこどいて!

そんなつらさを感じつつもこの度公開となりました。

あと、こちらは同じ系列のホテル様ですが、PARKWESTONさまマタニティプラン特設ページも先日制作させていただきました。



結婚かぁ、縁遠いげっふん先方のご担当の方と何度かデザインを修正させていただきながら、現在の完成形となりました。
このページを作っていく際、なんとか自分の中のイメージを高めようと、作ってみました。

iPodに入ってるありったけのウエディングソングを集めたマイリスト。

カエラちゃんの「Butterfly」からDAI「魔法の言葉~Would you marry me?~」、aikoの「カブトムシ」、とりあえずウエディングソングと言われているものをありったけ集めてみました。
やっぱりウエディングソングとなると、明るくて華やかなものが多いですねー。
少なからず特製マイリスト効果はあったのかなぁ、あったらいいなぁ(*´Д`)

これからも、サイト公開やなにかネタがあったら顔を出せたらと思っていますので、どうぞよろしくお願いします。

ところで、先程のウエディングマイリスト見なおしてみたらELLEGARDENの「marry me」があったわけですが、ちょ、これ失恋……(´・∀・`)

DEAD or DEAD

お疲れ様です。

現在、大西漬物さんの
楽天支援を担当させていただいているWEB村です(・∀・)

本日、4/30(月)9:30~11:30に開発課の全メンバーでミーティングをしてきました♪


ミーティングの結果、

とりあえず、半年間みんな死のうか(笑)

という結論になったとさ。


どういうことかというと
死ぬ気でがんばろう!ということ。


どんなに頑張ったところで、今の御時世PCは売れなくなってきてるし
ホームページだって自分で作れる人はゴマンといますからね・・

今までと同じようなことするのでは
もうダメなんですよ。。。


だから、この半年死ぬ気で仕事(新しいことに取り組む)します!( ー`дー´)キリッ


まずは、ジョイメイトの自社サイト。



















これを全面リニューアルします!!
私じゃなくて、先輩が(笑)


あとは、定期的にこのブログを更新します!!
開発課メンバー全員で!

WEB村は宣言したことは実行する「有言実行」をポリシーにしておりますので!!

ジョイメイトの今後の活躍にご期待くだされ♪

(*^^)v

2012年4月26日木曜日

jQueryプラグインNivo Sliderが、イイ感じ!

jQueryプラグインNivo Slider


楽天サイト構築で使ってみました!
【楽天市場】畑に囲まれた場所に建つ大西重吉商店で作った、おいしいお漬物です。:大西漬物 :
http://www.rakuten.co.jp/nasubi/





MIT license.で商用利用が可能です。

/*
 jQuery Nivo Slider v2.7.1
http://nivo.dev7studios.com
*/

2012年4月23日月曜日

FileMakerでヤマト運輸「お届け予定日検索」

FileMakerでヤマト運輸「お届け予定日検索」

FIleMakerでヤマト運輸の「お届け予定日検索」を実行し「発送締切日」を自動取得します。
Windowsのみ
動作確認
FileMaker Pro 11(9移行なら使えると思います。)

料金・お届け予定日検索(宅急便)|ヤマト運輸 : http://date.kuronekoyamato.co.jp/date/Main

上記ページを表示し、JavaScriptで入力&クリックを行なった場合、
FileMakerの「GetLayoutObjectAttribute ( "WEB1" ; "content")」では、HTMLのソースが取得出来ない!
一旦、Dataスキームで
以下のHTMLを用意して「POST」してもHTMLのソースは取れない!

DATA:text/html,
<form name=form method=post action=http://date.kuronekoyamato.co.jp/date/Takkyubin >
<input type =text name=ACTID value=J_RKTKJS0010>
.....
</form>

で、

formをJavaScriptで記述すれば、「お届け予定日検索」をした結果のHTMLのソースが取得出来ます!








JavaScriptの記述、
FileMakerのスクリプト中に記述する場合、「"」や「改行」の処理がややこしくなるので、フィールドを使います。

フィールド:JavaScript(繰り返し1)
値:

javascript:
function x(form,name,value){
var input = document.createElement( 'input' );
input.setAttribute( 'type' , 'hidden' );
input.setAttribute( 'name' , name );
input.setAttribute( 'value' , value );
form.appendChild( input );
}

フィールド:JavaScript[2](繰り返し2)
値:

javascript:
var form = document.createElement( 'form' );
document.body.appendChild( form );
x(form,'ACTID','J_RKTKJS0010');
x(form,'PARA_STA','7760035');
x(form,'PARA_END','9070000');
x(form,'PARA_YEAR','2012');
x(form,'PARA_MONTH','5');
x(form,'PARA_DAY','3');
x(form,'PARA_SEARCH_KBN','PARA_CARRY_SEARCH');
x(form,'BTN_EXEC_SLEVEL','SEND');

フィールド:JavaScript[3](繰り返し3)
値:

javascript:
form.setAttribute( 'action' , 'http://date.kuronekoyamato.co.jp/date/Takkyubin' );
form.setAttribute( 'method' , 'post' );
form.submit();

※文字数制限があるようでいっぺんには送れないので3分割。

スクリプトは、こんな感じ


Web ビューアの設定 [オブジェクト名: "WEB1"; URL: "about:blank"]
スクリプト一時停止/続行 [間隔(秒): 0]
Web ビューアの設定 [オブジェクト名: "WEB1"; URL: JSMaker::JavaScript]
スクリプト一時停止/続行 [間隔(秒): 0]
Web ビューアの設定 [オブジェクト名: "WEB1"; URL: JSMaker::JavaScript[2]]
スクリプト一時停止/続行 [間隔(秒): 0]
Web ビューアの設定 [オブジェクト名: "WEB1"; URL: JSMaker::JavaScript[3]]

スクリプト一時停止/続行 [間隔(秒): 0]
スクリプト実行 [「_GET_content」]
スクリプト実行 [「_GET発送締切日」]
フィールドへ移動 []




こうやってヤマトにPOSTした場合は、「GetLayoutObjectAttribute ( "WEB1" ; "content")」で結果のHTMLソースが取得できます。

スクリプト実行 [「_GET_content」]の中:

変数を設定 [$n; 値:0]
Loop
変数を設定 [$Result; 値:GetLayoutObjectAttribute ( "WEB1" ; "content")]
Exit Loop If [PatternCount ( $Result ; "</html>" ) or $n>10]
スクリプト一時停止/続行 [間隔(秒): 1]
変数を設定 [$n; 値:$n+1]
End Loop
フィールド設定 [JSMaker::Result; $Result]


スクリプト実行 [「_GET発送締切日」]の中:

変数を設定 [$Source; 値:JSMaker::Result]
変数を設定 [$max; 値:ValueCount ( $Source )]
変数を設定 [$n; 値:1]
Loop
変数を設定 [$Raw; 値:Trim(GetValue ( $Source ; $n ))]
If [$Raw = "<h3 class=\"typeB first-item\">お届け予定日</h3>"]
変数を設定 [$hit; 値:1]
End If
If [$hit=1]
変数を設定 [$Result; 値:$Result & $Raw]
If [$Raw = "</table>"]
Exit Loop If [1]
End If
End If
変数を設定 [$n; 値:$n+1]
Exit Loop If [$n>$max]
End Loop
変数を設定 [$Result; 値:Substitute ( $Result ;  ["<strong>" ; "¶"]; ["</strong>" ; "¶"] )]
変数を設定 [$DAY; 値:GetValue ( $Result ; 2 )]
変数を設定 [$DAY[2]; 値:GetValue ( $Result ; 4 )]
フィールド設定 [JSMaker::Result; "発送締切日:" & $DAY & ¶ &  "発送締切日(午前中お届け):" & $DAY[2]]


これで「お届け日指定」があった場合も逆算がカンタン!?

実際の「楽天RMS運用支援SYSTEM(借名)」の場合は、プラグインを使う予定。で、「楽天RMS」から「お届け希望日」を取得して、ほぼ自動化したいな!






楽天RMSの運用説明へ


楽天運用支援

楽天RMSの運用説明へ

■受注の確認
・楽天ポイント利用でないですか?
・モバイル(携帯電話)からの注文でないですか?
(サンクスメールを送る時、携帯は、文字数に制限があるので注意が必要。)

・決済方法の確認。
クレジットカード決済の場合はオーソリ処理が必要。(楽天RMSで自動オーソリの設定が可能)
楽天バンク決済の場合は振替依頼処理が必要。
銀行振込の場合は、ステータスを「発送前入金待ち」にして...
代引の場合は、ステータスを「発送後入金待ち 」にして...

■サンクスメールを送信します。
..........
.....
...

初めて聞くと頭がゴチャゴチャになりそうです。
そこで!
【受注全体の流れ】の図!
担当のWEBmura(でいいのかなぁ?)が、図を作成してくれています!(ノ゚ο゚)ノ分かりやすい!


この図は、「 WEBmura 」が何回もRMSで検証をし、独自のマニュアルを作成した中の一部!
要点をまとめたとは言え20ページ以上に(ノ゚ο゚)ノ。

わかりやすく伝えようとする姿勢が物凄く見えます!

畑に囲まれた場所に建つ大西重吉商店で作った、おいしいお漬物です。:大西漬物[トップページ] : 
http://www.rakuten.co.jp/nasubi/

2012年4月18日水曜日

「楽天RMS」に自動ログインするVBScript


Internet Explorerで「楽天RMS」に自動ログインするVBScript




ファイル名を「RMS_Login.vbs」とかで保存してダブルクリック!


R_id="あなたのR-Login ID"
R_pw="あなたのR-Loginパスワード"
U_id="あなたの楽天会員のユーザID"
U_pw="あなたの楽天会員のユーザパスワード"

は、ご自身のモノに書き換えてください。


ここから- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
use_ie

Sub use_ie()
Dim ie

'設定 - ここから
R_id="あなたのR-Login ID"
R_pw="あなたのR-Loginパスワード"
U_id="あなたの楽天会員のユーザID"
U_pw="あなたの楽天会員のユーザパスワード"
'設定 - ここまで

'ログインURL
url="https://mainmenu.rms.rakuten.co.jp/rms"

On Error Resume Next
Set SO = CreateObject("Shell.Application")
Set ShWins = SO.Windows()
For Each W In ShWins
if Left(W.LocationURL,4)="http" then
Set ie=W
Exit For
end if
Next

If ie Is Nothing Then
Set ie = CreateObject("InternetExplorer.Application")
End If
ie.Visible = True

ie.Navigate2 "https://mainmenu.rms.rakuten.co.jp/rms"
     waitIE ie ' IEがビジー状態の間待ちます

'STEP(1) - R-Login IDの認証
ie.document.getElementsByName( "login_id" )(0).Value=R_id
ie.document.getElementsByName( "passwd" )(0).Value=R_pw
ie.document.getElementsByName("submit")(0).click()

     waitIE ie ' IEがビジー状態の間待ちます

'STEP(2) - 楽天会員の認証
ie.document.getElementsByName( "user_id" )(0).Value=U_id
ie.document.getElementsByName( "user_passwd" )(0).Value=U_pw
ie.document.getElementsByName("submit")(0).click()
 

    ' 制御を破棄
    'ie.Quit
    Set ie = Nothing
End Sub


' IEがビジー状態の間待ちます
Sub waitIE(ie)
    On Error Resume Next
for i=0 to 12
        WScript.Sleep 500
    if ie.Busy <> True Or ie.readystate = 4 then
i=12
end if
next
    WScript.Sleep 1000
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ここまで

FileMakerと楽天RMS連携[Windows]2


FileMakerからInternet Explorerを操作し、楽天RMSへ自動入力!
ログアウトしている状態から1クリックで[受注管理 - 新規受付]を開く!



楽天RMSってこうゆう事をさせたくないのか?HTMLタグに、「id」の設定が無い!「name」の設定もすくない!でも!なんとか出来ない事はない! d(^ ^)

2012年4月13日金曜日

FileMakerと楽天RMS連携[Windows]

楽天支援にあたり、FileMakerを使って楽天RMSの操作・入力支援ツールを制作予定!

FileMakerからInternet Explorerを操作し、楽天RMSへ自動入力!

既存で色々ソフトがあるけど、FileMakerで作れば使う人が独自のカスタマイズが出来てイイと思う!




楽天RMSの入力は、大変なのでガンバって作ったら使ってくれる人いるかな?

社内のWEB担当が、RMSの入力!、大変そうなのでこのツールでラクチンになって、
クリエイティブな事に時間を使って下さい! d(^-^)

※まだ出来てないですけど!

2012年4月11日水曜日

ChatWork,infoタグを追加するブックマークレット!

ChatWork,infoタグを追加するブックマークレット!


ChatWorkに入力をする時、[info]タグを使うと下記の様に表示できます。
ここぞ!と言う時に使うとイイ感じです!










[info][title]タイトル[/title]内容1
内容2
内容3
[/info]



ただ、いちいち[info]タグを打つのが面倒なので、[info]タグを自動で追記するブックマークレットを作成しました!(動作確認:Google Chrome)

ココから- - - - - - - - - - - - - - - - - - - -
javascript:function info(){
var str = $('#cw_chattext').val();
var row = new Array();
row=str.split('\n');
var newstr='[info][title]'+row[0]+'[/title]';
for (var i = 1, n = row.length; i < n; i++){
newstr = newstr + row[i]+'\n' ;
}
newstr = newstr + '[/info]';
$('#cw_chattext').val(newstr);
}info()
- - - - - - - - - - - - - - - - - - - -ココまで

以下は、コピー用(改行なし)- - - - - - - - - - - - - - - - - - - -
javascript:function info(){var str = $('#cw_chattext').val();var row = new Array();row=str.split('\n');var newstr='[info][title]'+row[0]+'[/title]';for (var i = 1, n = row.length; i < n; i++){newstr = newstr + row[i]+'\n' ;}newstr = newstr + '[/info]';$('#cw_chattext').val(newstr);}info()


このブックマークレットをGoogle Chromeの「ブックマークバー」に登録します。
画面では、「ChatWork」フォルダの中に「[info]タグ」と言う名前で保存しています。


文字を入力して、

ブックマークレット「[info]タグ」を実行すると、[info]タグを付加します。

1行目は、[title]タグが付加されます。


結果!
[info]タグは、良く使っていたので入力が楽になってイイ感じです。

※IE9では動作しませんでした!(IE使わないからイイけど!)

2012年4月6日金曜日

MailMakerPop+ は、FileMaker Pro 12 に対応しています。


【MailMakerPop+ は、FileMaker Pro 12 に対応しています。 】
(FileMaker用メール送受信プラグイン)

動作検証:
MailMakerPop+ Ver.2.0.0.5(dll2.0.0.6)
OS:Windows Xp SP3 , 7 (32bit,64bit)

http://manual-mailmakerpop.joy-h.com/

動作検証を行いました!
FileMaker Pro 12 で、ファイルシステムが変わるので「MailMakerPop+」の手直しが必要かと思っていましたが、そのままで「FileMaker Pro 12」に対応します。d(^^)