iframe에 폼을로드하려고합니다. 사용자가 북마크릿을 클릭하면 iframe이 임의의 페이지로로드됩니다. 전체 페이지가 제출 (코드의 마지막 줄)에 다시로드됩니다iframe에 폼로드
loginForm = document.createElement("form");
loginForm.setAttribute("method","Post");
loginForm.setAttribute("action","http://devserver:8000/action/");
parameters = {};
parameters['url'] = parent.window.location;
for(var key in parameters)
{
var hiddenField = document.createElement("input");
hiddenField.setAttribute('type',"hidden");
hiddenField.setAttribute('name',key);
hiddenField.setAttribute('value',parameters[key]);
loginForm.appendChild(hiddenField);
}
loginIFrame = document.createElement('iframe');
loginIFrame.src = "about:blank";
loginIFrame.appendChild(loginForm);
loginIFrame.style.top = "0px";
loginIFrame.style.position='fixed';
loginIFrame.style.display = 'block';
loginIFrame.style.zIndex = 100;
loginIFrame.style.border = "solid #48D236 10px";
loginIFrame.height = "25px";
loginIFrame.width = "100%";
loginIFrame.style.border = 0;
loginIFrame.id = "loginFrame";
loginIFrame.name = "loginFrame";
usernameField = document.createElement("input");
usernameField.type = "text";
usernameField.size = 8;
usernameField.name = "usernameField";
usernameField.id = "usernameField";
passwordField = document.createElement("input");
passwordField.type = "password";
passwordField.size = 8;
passwordField.name = "passwordField";
passwordField.id = "passwordField";
submitButton.style.position='fixed';
submitButton.style.top = "60px";
submitButton.type = "button";
submitButton.value = "Submit";
submitButton.onclick = function(){loginUser();};*/
b.style.position="relative";
addToBody(loginIFrame);
loginForm.submit();
무슨 일이 끝나는 것은 아닌 iframe이 : 여기
는 지금까지 코드입니다. 어떤 아이디어?미리 감사드립니다.
흠 내가 변경된 loginForm = loginIFrame.contentWindow.document.createElement ("form")을 포함하도록 끝나야합니다. 하지만 액션에 리디렉션하지 않습니다/파이어 폭스와 함께 제출하십시오. 크롬에서 그렇습니다. 파이어 폭스에서 .src 그냥 iframe을 설정합니다. 어떤 아이디어? – Yoshi9143
개인적으로 북마크릿에 대해 다른 접근 방식을 취할 것입니다. 북마크에 모든 코드를 넣으면 강제 업데이트하지 않는 한 아무 것도 변경할 수 없습니다. 나는 페이지에 iframe을 추가하는 간단한 북마크릿을 만들 것이다. iframe이 나머지 모든 작업을 수행하는 페이지를 가리 키도록하십시오. iframe 내에서 부모 창에 대한 액세스가 필요하지 않으면? –
크로스 스크립팅을 사용하려면 다음과 같이하십시오. iframe을 페이지로로드하여 필요한 URL 정보가 포함 된 내 서버에 게시물 요청을 제출합니다. -> 서버는 내 서버에 다른 요청을하는 페이지를 반환합니다. 사용자가 로그인했는지 확인하기 위해 별도의 요청을해야 함) -> 서버가 요청에 성공하면 사용자에게 응답을 보냅니다. – Yoshi9143