- - PR -
javascriptにて他画面の操作について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-22 11:01
いつもおせわになります。
現在JSPにてPGを行っていますが JSPページ(画面A)よりjavascriptにてもう一つ指定したURLの ページを立ち上げ(画面B)その画面の操作を行いたいのですが・・・ ちなみに画面Aは自サーバー、画面Bは業者のホームページ 別サーバー という構成になっています。 具体的には画面Aのボタンをクリックするともう一つブラウザがたち あがり画面BにログインIDとパスワードをセットしボタンを押しログイン する動作を画面Aのjavascriptにて記述してやりたく以下のコーディング をしました wnd = window.open("https//業者URL.jsp"); wnd.document.getElementById('customerUserId').value = 'userid'; @ wnd.document.getElementById('passWd').value = 'password'; wnd.document.getElementById('loginbtn').click(); こうすると@の部分で'アクセスが拒否されました。' とエラーが出力され、インターネットで調べた結果、他サーバーのページ に値のセットなどをするのはセキュリティー上できないような書き込みを みつけました その部分はなんとなく理解出来るのですが 同じような操作をVB6.0から実行したところ問題なく処理すること が出来ました。 ソース Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Navigate strURL(とび先のURL) IE.Visible = True Do While IE.Busy DoEvents Loop If Not Mfc_SetIE_Object(obj01, IE, "UserId") Then Exit Sub obj01.Value = P_Ini_HP_ID If Not Mfc_SetIE_Object(obj01, IE, "passWd") Then Exit Sub obj01.Value = P_Ini_HP_PASS If Not Mfc_SetIE_Object(obj01, IE, "loginButton") Then Exit Sub 'ログイン obj01.Click Do While IE.Busy DoEvents Loop 〜 Private Function Mfc_SetIE_Object(objDmy As Object, IE As Object, strSetCtl As String) As Boolean On Error GoTo ErrTrap Mfc_SetIE_Object = False Set objDmy = Nothing Set objDmy = IE.Document.getElementByID(strSetCtl) If objDmy Is Nothing Then Sleep (3000) DoEvents Set objDmy = Nothing Set objDmy = IE.Document.getElementByID(strSetCtl) If objDmy Is Nothing Then Set IE = Nothing Set objDmy = Nothing Mfc_SetIE_Object = False Call MsgBox("データの設定に失敗しました。入力してください。", vbApplicationModal + vbMsgBoxSetForeground, GC_APNAME) Else Mfc_SetIE_Object = True End If Else Mfc_SetIE_Object = True End If Exit Function ErrTrap: Mfc_SetIE_Object = False End Function 上記コードで実現できました。 この場合はなぜ実現できるのかがよくわかりません。 なぜjavascriptの時は駄目なのでしょうか この辺りわかられる方がおられましたら 宜しくお願いします。 |
|
投稿日時: 2006-11-22 11:52
Webという開かれた(誰でも実行できる)環境におけるセキュリティへの配慮、としか言いようがないと思いますが。
|
1