2013-09-07 4 views
2

저는 최근에 자바 스크립트 학습을 시작했으며 현재 사용자 이름/암호 필드를 채우고 로그인 절차를 자동화하는 작은 스크립트를 작성하려고합니다. '-단추.window.open이 실행 된 후 코드가 실행되지 않습니다.

내 코드는 다음과 같습니다

window.open(""); 
document.getElementById('ctl00_Username').value = "XXXX"; 
document.getElementById('ctl00_Password').value="XXXX"; 
document.getElementById('ctl00_ButtonLogin').click(); 

내가 한 번 실행하면 사이트가 열려 있지만 텍스트 필드가 작성되지 않습니다.
코드가 인 경우 (사이트가 이미 열려있을 때) 두 번 실행하면 로그인에 성공한 것입니다.

"console.log"를 "window.open"다음에 넣으려고했지만 어쨌든 결코 호출되지 않는 것 같습니다.

내가 뭘 잘못하고 있니?

편집 : 불필요한 코드가 제거되었습니다. 또한 더 이상 문서 객체가 실제로 새로 열린 창을 가리키는 지 확신하지 못합니다. "console.log"와 "alert"에 대한 호출은 아무 것도하지 않는 것 같습니다.

창에서 올바른 문서 개체를 가져올 수 있습니까? "window.open"을 사용하고 새 문서 개체에 액세스 할 수 있습니까? 도움이 될 크게 감사합니다!

+0

수 없습니다. 새 파일'(elogin/default.aspx)'에''filling code ''를 넣어야합니다. –

+0

그래서 window.open-call과 'filling code'를 동시에 실행할 수 없습니까? 왜냐하면 내가 질문에 쓴 것처럼. 스크립트를 두 번 실행하면 모든 것이 작동합니다. – Cethy

+0

당신의 코드는 무엇일까요? window.open은 새 창을 열어서,'document = window.document' (문서는 이미 window.document와 동일합니다.)는 현재 창에서'document' 속성을 얻습니다. 방금 열었습니다. –

답변

0

window.open 호출에서 창에 대한 참조가 반환되면이를 사용하여 창을 수정할 수 있습니다.

win=window.open(...); 
win.document.doYourThing 

문서가 준비 될 때까지 기다려야 할 수도 있습니다. 아래 jquery 사용

$(win.document).ready(function() { 
    //the document is loaded by here, this is probably where you should do your stuff. 
}); 
+0

나는 이것을 시도했지만 어떤 이유로 jquery 블록 안의 코드가 실행되지 않는다. – Cethy

+1

이것은 부모와 동일한 도메인에있는 새 창에서만 작동합니다. –

0

1. 쿼리 문자열로 값을 입력하십시오. 예 : www.test.com?username=bro & password = bro. 2. 다른 페이지에서 아래 코드를 붙여 넣으십시오.

$(function() { 
     $(document).ready(function() { 
     var amount = $('money').val(); 
     var from = "INR"; 
     var to = "SGD"; 
     $.ajax({ type: "POST", 
     url: "WebService.asmx/CurrencyConversion", 
     data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
     var money = $(".money").val(); 
     $(".money").replace(money, data.d); 
     } 
     }); 
     }); 
     }); 

3.이 코드도 붙여 넣으십시오.

var uname = getUrlVars()["username"]; 
var psw = getUrlVars()["password"]; 

4. 위 변수의 값을 사용합니다. 원하는대로 무엇이든 할 수 있습니다.

관련 문제