2014-03-19 1 views
0

URL에 대한 액세스 권한이있어 사용자 상태를 지우는 스크립트를 실행합니다. ID를 사용하면 웹 페이지에서 실행할 스크립트를 생성하고 싶습니다.iFrame 결과를 JavaScript 경고 상자로 변경하는 방법은 무엇입니까?

다음 스크립트는 사람들이 혼합 된 콘텐츠 그들이 페이지에 올 때마다 해제해야하는 Firefox에서하지만 성가신 작동 :

<SCRIPT LANGUAGE="JavaScript"> 
function go(loc,loc2){ 
    document.getElementById('userstate').src = loc + 
    document.getElementById('username').value + loc2; 
} 
</script> 

<form onSubmit="go('http://mysiteurlomitted.com/userstate/?userId=','&app=cc'); return false;"/> 
Username: <input type="text" id="username"> 
<input type="submit" value="Clear User State"> 
</form> 

<iframe id="userstate" src="about:blank" width="470" height="30" frameborder="1" scrolling="no"></iframe> 

결과 URL은 간단한 텍스트 문자열을 생산, 그리고에는 HTML이 없습니다 결과 페이지가 있으므로이 URL을 파일로 읽고 경고 상자에 결과를로드하는 것이 매우 쉬워야한다고 생각합니다. 이렇게하면 iframe 방법을 피하고 혼합 된 콘텐츠 상황에서 벗어날 수 있습니다. 아무것도 바꿀 필요가없는 사람은 달릴 것입니다. 그러나 나는 이것을 어떻게 작동시키는지를 알 수 없다. FileReader()이 좋은 방법이되어야한다고 생각하지만 URL에 매개 변수가 있으므로 독자는 어떤 파일 유형인지 모릅니다. 그저 실패했습니다. 이것을하기위한 더 쉬운 방법이 있어야합니다.

+0

이 솔루션으로 도움이 될 수 있습니까? http://stackoverflow.com/questions/926916/how-to-get-the-bodys-content-of-an-iframe-in-javascript –

+0

제 의도는 iframe을 사용하지 않고 대신 경고를 사용하는 것입니다. 결과를 표시하는 상자, 해당 솔루션 실 거예요 Nickolay, 고마워요. – user1552816

답변

0

이런 종류의 자바 스크립트가 필요하지 않습니다. 사용자 이름 입력에 이름 속성을 추가하기 만하면 해당 값이 검색어 문자열에 "& username = Name"으로 전달됩니다. 그래서 : 양식을 제출 것이다

<form action="/userstate?app=cc"> 
    Username: <input type="text" id="username" name="username" /> 
    <input type="submit" value="Clear User State" /> 
</form> 

"http://samedomain.wut/userstate?app=cc&username=", 일반적인 포스트 데이터 소스의 서버 측에서 사용할 수 것이다합니다.

이 작업을 수행하는 다른 좋은 방법이 있지만 설정을 알지 못합니다. 쿠키/세션에 대한 서버 측 관리를 조사해야합니다. 사용자는 초기에 로그인하는 것 외에는 아무 것도 입력 할 필요가 없습니다.

편집 :

당신이 관리 도구로 사용하려는 경우, 당신은 두 가지 작업을 수행 할 수 있습니다 사용 아약스 (XMLHttpRequest의 또는 JQuery와에서 $ 아약스를) 또는 엔드 포인트가 다시로 리다이렉트 (또는 제공) 형태. 양식을 자체 url에 제출하고 서버 측 스크립팅 프로세스에서 데이터를 처리 한 다음 양식의 html을 다시 출력 할 수 있습니다. 실제 응용 프로그램에 좋은 패턴은 아니지만이 상황에서 작동해야합니다.

+0

이드는 스크립트를 올려 놓은 페이지의 경고 상자에 결과를로드하는 것을 좋아합니다. 사용자 이름을 입력 할 수있는 방식으로 실행하려면 사용자 상태 지우기를 클릭하십시오. (경고 발생 : 닫음) 다른 사용자 이름을 입력하고 사용자 상태 지우기를 클릭하십시오. 그리고 그것은 결코 그 페이지를 떠나지 않아, 내가 반복해서 그것을 할 수있게 해줍니다. URL 매개 변수를 다시 배열하는 것은 좋습니다. – user1552816

+0

Gotcha, gotcha, 이것이 관리 도구에 가깝습니다. 내 대답을 편집 할게. – jstaab