2016-06-04 4 views
0

제목으로 사용하는 Chrome 앱으로 자바 스크립트 프로그램을 작성하고 현재 웹 페이지의 URL (http://web.com)을 가져 와서 저장합니다. 변수를 사용하면 나중에 해당 URL을 사용하여 다른 웹 페이지의 텍스트 필드에 입력 할 수 있습니다.현재 URL을 가져온 다음 다른 페이지에서 사용하십시오.

지금까지 내가 가진 :

window.onload = function alertUrl() { 
    var url = document.URL; 
    window.open("http://somewebsite.com"); 
    document.getElementById('idName').focus(); 
    document.getElementById('idName').value=url; 
    return; 
} 

과는 호출하는 HTML : 나는 크롬 응용 프로그램을 실행하려고 할 때, 그러나

<input type="button" onclick="alertUrl()" value="Activate"/>

, 그것은 http://web.com을하지 않습니다 대신 http://somewebsite.com을 사용하고 무의식적으로 실행됩니다.

http://web.com을 얻으려면 var url에 저장 한 다음 나중에 줄을 지정하십시오 : document.getElementById('idName').value=url;?

+0

window.onload는 페이지로드시마다 실행됩니다. window.open을 거기에 넣으면 somewebsite.com이 항상 리디렉션됩니다. –

+2

버튼을 왜 ''으로 끝내시겠습니까? 그것은 ''다음에 사용해야합니다. – Barmar

답변

1

이 바이올린을 확인하십시오. https://jsfiddle.net/4knonqmq/. 나는 당신의 코드를 시험해 보았고 당신이 물었을 때 잘 작동했다.

<input type="button" onclick="alertUrl()" value="Activate"/> 
<input type= "text" id="idName"/> 
<script> 
window.onload = function alertUrl() { 
    var url = document.URL; 
    window.open("http://facebook.com"); 
    document.getElementById('idName').focus(); 
    document.getElementById('idName').value=url; 
    return; 
} 
</script> 

(죄송합니다. 제가 댓글을 달았습니다 수 있습니다.하지만 충분하지 않은 평판)

+0

명명 된 함수 표현식의 이름 범위는 함수 본문입니다. 'alertUrl()'을 전역 적으로 참조 할 수는 없습니다. – Barmar

+1

댓글 대신 답변을 올리는 것은 평판을 얻는 방법이 아닙니다. – Barmar

+0

@Barmar 그건 오해입니다. 나는 코멘트를 덧붙이기에 충분한 평판이 없다고 말하고 싶다. (그 당시에) –

1

location.href로 변경 document.URL.

관련 문제