2011-08-18 5 views

답변

5

불행히도 북마크릿이 작동하지 않습니다. window.location의 변경으로 인해 새 페이지가로드됩니다. 먼저 해당 문서가 먼저 표시되지 않아도 해당 페이지에서 자바 스크립트를 실행할 수 없습니다.

원하는 동작은 브라우저 확장 (예 : Greasemonkey 스크립트. 페이지로드시 페이지에 지정된 Javascript를 실행합니다.

1

코드를 window.onload 이벤트로 감싸십시오. 이 솔루션은 위의 작동하지 않기 때문에


window.location = "URL"; window.onload = function() { 
document.getElementById('username-id').value = 'User' 
document.getElementById('pwd-id').value = 'pass' 
doLogin(); 
} 

, 당신은 여전히 ​​당신의 문제를 해결하는 간단한 브라우저 확장을 쓸 수 있어야합니다. 간단합니다. 사용하는 브라우저를 선택하고 문서를 따르십시오. 이것은 그렇게하는 유일한 방법입니다.

+0

이미 시도했지만 여전히 운이 없습니다. 스크립트는 페이지로 이동하여 멈 춥니 다. – Temikus

+0

그런 다음 북마크릿이이 경우 강력하지 않기 때문에 문제를 해결하기 위해 브라우저 확장을 작성해야합니다. –

+0

작동하지 않습니다. 새 페이지 = 새 스크립트. 선언 된 다른 페이지에서 스크립트를 실행할 수 없습니다. –

1

로드하는 페이지를 제어하는 ​​경우 해당 데이터를 조각으로 전달하고 페이지에서 처리하는 것이 좋습니다. window.location="URL#username=...;password=..."과 같은 것이 페이지의 조각에서 데이터를 구문 분석하고 필요한 모든 작업을 수행하는 것입니다. 그러나이 특별한 경우 암호는 인터넷 검색 기록에 저장되지 않습니다.

13

브라우저 확장을 권장하지 않습니다. 신뢰할 수없는 코드를 신뢰할 수있는 코드의 컨텍스트에서 실행할 수 있습니다. 페이지를로드하고 사용자 ID와 암호를 자동으로 입력하는 브라우저 확장 프로그램이있는 경우 악의적 인 사이트에 해당 자격 증명을 게시하지 못하게하는 것은 무엇입니까? 오직 당신과 당신이 신중하게 소스 코드를 읽었을 때만. 형태

javascript: 
var L='http://mysite.com/'; 
if(location!=L)location=L; 
else{ 
    document.getElementById('username-id').value='User'; 
    document.getElementById('pwd-id').value = 'pass'; 
    document.close(); 
    doLogin(); 
} 

을 채우기 위해 2. 위치로 이동 1. : 나는 두 번 클릭을 필요로 내 브라우저의 즐겨 찾기 모음에 북마크를 추가 한 위

이 문제를 해결하려면 행운을 빕니다!

관련 문제