2011-04-05 3 views
0

IE와의 크로스 사이트 스크립팅 문제에 대해 알고 있지만 동일한 서버/도메인에서 왔습니다. (실제로 IP 주소로 서버에 액세스하고 있지만 문제가 될 수 없다고 생각합니까?)IE에서 액세스가 거부되었습니다. (동일한 도메인!)

문제는 jquery.translate를 사용하여 응용 프로그램을 번역하려고합니다. FF (깜짝!)에서 이것은 매력처럼 작동합니다. 하지만 IE에서 나는 두려워한 'Access Denied'오류가 발생합니다. 이것은 내가하는 전화입니다.

$(top.frames["Content"].document).translate('english'); 

나는 프레임의 부하에서 이렇게하고 있습니다. 그리고 정말 이상한 부분을 위해 : 처음 프레임 셋을로드 할 때 이 작동합니다!하지만 프레임의 오른쪽 부분에있는 링크를 클릭하면 오류가 발생합니다. 심지어 낯선 사람 : 프레임의 왼쪽 부분에 정확한 코드을 발사하는 버튼을 넣은 다음 작동합니다!

물론 이벤트가 너무 빨리 시작될 수 있다고 생각했습니다. 오른쪽 프레임이로드를 완료하기 전에 10 초 후 10 초를 기다리더라도 오류가 발생합니다 ....

나는 여기에 머리카락이 부족합니다. :-) 아무도 단서가 있습니까?

감사합니다.

폴 두 문서가 동일한 도메인에서 발생, iframe에 기능에 액세스하려고 할 때 나는 같은 오류가 발생했다

+0

정확히 동일한 도메인 또는 다른 하위 도메인 (예 : www.example.com 및 foo.example.com)을 참조하는 프레임입니까? – tvanfosson

+0

@tvanfosson : 또는 그보다 더 그럴듯한 www.example.com 및 example.com – Spudley

+0

그는 호스트 이름 대신 IPAddress를 사용한다고 주장하므로 어떤 경우에는 IP를 사용하지 않는 한 문제를 설명해서는 안됩니다. 그는 호스트 이름을 사용하고 있습니다. – EricLaw

답변

0

. iframe이의 창 개체에 액세스하기위한 나의 기술과 그것의 기능이 라인을 따라했다 :

// if id for the iframe element is 'context', first make sure 
// it's accessible as a property of the main window object 
if(! window.context) window.context = window.frames[0] || null; 
if(window.context === null) alert("The Context screen is not available"); 

// grab a function from the iframe window and assign to var 
var fadeLoader = window.context.fadeLoader; // this is an error in IE 

... 심지어 함수를 호출 시도 할 수 있습니다 전에, 그래서 나는 그것을 참조하는 오류가 발생합니다.

// grab a function from the iframe window and assign to var 
var fadeLoader = window.context.window.fadeLoader; 
// now I can call the function 
fadeLoader(); 

을 ...하지만 '창'FF의 iframe 요소의 유효한 속성이 없기 때문에 지금은 파이어 폭스에서 오류가 발생합니다 : F12 콘솔에서 주위 재생, 여기 일거야. 대신 FF는 (정확하게) contentWindow를 사용합니다.

if(! window.context) window.context = window.frames[0] || null; 
if(! window.context.window) window.context.window = window.context.contentWindow; 
var fadeLoader = window.context.window.fadeLoader; 
fadeLoader(); 

는 IE, 파이어 폭스, 크롬과 사파리에서 작동하는 것 같다 : 그래서, 모든 주위에이 일을합니다.

관련 문제